array notation

Improving Averaging Filter performance using Intel® Cilk™ Plus

Intel® Cilk™ Plus is an extension to the C and C++ languages to support data and task parallelism.  It provides three new keywords to implement task parallelism and  Array Notation, simd pragma and Elemental Function to express data parallelism.  This article demonstrates how to improve the performance of an Averaging Filter in image processing using Intel® Cilk™ Plus.  To demonstrate the performance increase, you will use a program that reads a bitmap RGB image and does averaging with a filter of size 3x3.  Averaging filter work

  • Desarrolladores
  • Socios
  • Profesores
  • Estudiantes
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • Unix*
  • Cliente empresarial
  • Code for Good
  • Servidor
  • Windows*
  • C/C++
  • Avanzado
  • Principiante
  • Intermedio
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Cilk™ Plus
  • Intel® Composer XE
  • Intel® Parallel Composer
  • Intel® Parallel Studio
  • Intel® Parallel Studio XE
  • Averaging filter
  • array notation
  • elemental function
  • SIMD enabled function
  • cilk_for
  • Intel® Streaming SIMD Extensions
  • Herramientas de desarrollo
  • Educación
  • Gráficos
  • Procesadores Intel® Core™
  • Optimización
  • Subprocesos
  • Vectorización
  • Intel® Cilk™ Plus – AOBench Sample

    This is the AOBench example associated with the "Intel® Cilk™ Plus – The Simplest Path to Parallelism" how-to article.  It shows an Ambient Occlusion algorithm implemented as serial loops, one using Intel Cilk Plus' cilk_for keyword to implement parallelism, one version using Intel Cilk Plus' array notations to allow vectorization for the SIMD instruction, and another version using both cilk_for and the array notations.  It demonstrates great performance with very little coding changes through both data-parallelism and task-parallelism.
  • Desarrolladores
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Apple OS X*
  • C/C++
  • Principiante
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® C++ Studio XE
  • Intel® Advanced Vector Extensions
  • Intel® Streaming SIMD Extensions
  • AOBench
  • CilkPlus
  • array notation
  • Optimización
  • Computación en paralelo
  • Subprocesos
  • Vectorización
  • About Intel Cilk™ Plus and How To Get Started

    This article has been updated for Intel C++ Composer XE 2013 and 2013 SP1 for Windows,  Linux* and Mac OS* X.

    Intel® Cilk™ Plus is a new method for implementing SIMD (SSEs) vectorization and parallel programs. It is supported by the following Intel software development products:

  • Desarrolladores
  • Apple OS X*
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • C/C++
  • Intermedio
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Parallel Composer
  • CilkPlus
  • simd
  • array notation
  • Computación en paralelo
  • Function maps in Array Notation are not converted to multi-threaded calls


    Reference Number : DPD200167322


    Version : 12.0


    Product : Intel® C++ Compiler XE


    Operating System : Windows*, Linux* and Mac* OS


    Problem Description : 
    In "Intel® C++ Compiler XE 12.0 User and Reference Guides" -> "Creating Parallel Applications" -> "Using Intel® Cilk™ Plus" -> "Extensions for Array Notation" -> "C/C++ Extensions for Array Notations Programming Model", it says:
  • Linux*
  • Apple OS X*
  • Microsoft Windows* (XP, Vista, 7)
  • C/C++
  • Intel® C++ Compiler
  • Intel® Parallel Composer
  • array notation
  • function map
  • ClosedSWDefect
  • SIMD Parallelism using Array Notation

    Are you a C or C++ programmer who has ever envied APL or Fortran 90's array expressions?   Read on.  If you don't know what array expressions are, then you really should read on, to find out what you should have envied.  In any case, the envy is over, because  Intel Parallel Composer 2011 brings array expressions to C and C++.

    Suscribirse a array notation