Averaging filter

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

  • Sviluppatori
  • Partner
  • Professori
  • Studenti
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • Unix*
  • Client business
  • Codice per Buono
  • Server
  • Windows*
  • C/C++
  • Avanzato
  • Principiante
  • Intermedio
  • Compilatore C++ Intel®
  • 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
  • Strumenti di sviluppo
  • Istruzione
  • Grafica
  • Processori Intel® Core™
  • Ottimizzazione
  • Threading
  • Vettorizzazione
  • Best practices for using Intel® Cilk™ Plus

    Performance tuning of an existing application is truly a challenge and it depends on a lot of factors like the nature of algorithm the application works on, if the implementation is scalable to take advantage of thread/data parallelism etc.  The most logical approach any developer would follow for tuning the performance of an application is to do a dynamic profiling of the application under different workloads, try to analyze the hotspots in that application, and then fine tune them to work best on a given hardware architecture.

  • Sviluppatori
  • Partner
  • Professori
  • Studenti
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • Unix*
  • Client business
  • Codice per Buono
  • Windows*
  • C/C++
  • Avanzato
  • Principiante
  • Intermedio
  • Compilatori
  • Compilatore C++ Intel®
  • Intel® C++ Composer XE
  • Intel® Cilk™ Plus
  • Intel® Composer XE
  • Intel® Parallel Studio XE
  • Averaging filter
  • Intel® Streaming SIMD Extensions
  • Grafica
  • Processori Intel® Core™
  • Ottimizzazione
  • Threading
  • Vettorizzazione
  • Iscriversi a Averaging filter