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

  • Entwickler
  • Partner
  • Professoren
  • Studenten
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • Unix*
  • Business Client
  • Code for Good
  • Server
  • Windows*
  • C/C++
  • Experten
  • Anfänger
  • Fortgeschrittene
  • Intel® C++-Compiler
  • Intel® Cilk™ Plus
  • Intel® Parallel Studio XE
  • Intel® Parallel Studio XE Composer Edition
  • Averaging filter
  • array notation
  • elemental function
  • SIMD enabled function
  • cilk_for
  • Intel® Streaming SIMD Extensions
  • Entwicklungstools
  • Bildungswesen
  • Grafik
  • Intel® Core™ Prozessoren
  • Optimierung
  • Threading
  • Vektorisierung
  • 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.

  • Entwickler
  • Partner
  • Professoren
  • Studenten
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • Unix*
  • Business Client
  • Code for Good
  • Windows*
  • C/C++
  • Experten
  • Anfänger
  • Fortgeschrittene
  • Intel® C++-Compiler
  • Intel® Cilk™ Plus
  • Intel® Parallel Studio XE
  • Intel® Parallel Studio XE Composer Edition
  • Averaging filter
  • Intel® Streaming SIMD Extensions
  • Grafik
  • Intel® Core™ Prozessoren
  • Optimierung
  • Threading
  • Vektorisierung
  • Averaging filter abonnieren