Professors

Improving Discrete Cosine Transform performance using Intel(R) Cilk(TM) Plus

DCT and Quantization are the first two steps in JPEG compression standard. This article demonstrates how DCT and Quantizing stages can be implemented to run faster using Intel® Cilk™ Plus. In order to see the effect of quantization on the image, the output of Quantization phase is passed on to the de-quantizer followed by Inverse DCT and stored as an output image file.

  • Developers
  • Partners
  • Professors
  • Students
  • Linux*
  • Microsoft Windows* 8
  • Unix*
  • Business Client
  • Code for Good
  • Server
  • Windows*
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Cilk™ Plus
  • Intel® Composer XE
  • Intel® Parallel Composer
  • Intel® C++ Studio XE
  • Intel® Parallel Studio XE
  • DCT
  • IDCT
  • JPEG
  • Intel® Streaming SIMD Extensions
  • Development Tools
  • Education
  • Graphics
  • Intel® Core™ Processors
  • Optimization
  • Threading
  • Vectorization
  • 2013英特尔集成众核技术峰会

    2013英特尔集成众核技术峰会 | 2013.7.18-19  中国北京

           2013年7月18-19日,英特尔在北京怡生园国际会议中心举办“2013英特尔集成众核技术峰会”,共邀请了逾百位来自财经、能源、IPDC、生命科学、学术等行业领域的独立软件开发商、系统集成商、高校及科研院所的行业精英与会。在为期两天的峰会上,英特尔专家介绍了英特尔® 至强融核™协处理器平台的特性、编程方式及软件开发工具产品,而来自业内的多位技术专家也分享了他们应用英特尔® 至强融核™协处理器平台在多个领域内的成功案例。此次峰会的举办为推动并行计算技术进步、集成众核技术发展并更广泛地应用于工程和学术起到了积极的促进作用!

  • Developers
  • Partners
  • Professors
  • Students
  • Linux*
  • Cloud Services
  • C/C++
  • Advanced
  • Intermediate
  • Cluster Computing
  • Parallel Computing
  • 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

  • Developers
  • Partners
  • Professors
  • Students
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • Unix*
  • Business Client
  • Code for Good
  • Server
  • Windows*
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • 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
  • Development Tools
  • Education
  • Graphics
  • Intel® Core™ Processors
  • Optimization
  • Threading
  • Vectorization
  • 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.

  • Developers
  • Partners
  • Professors
  • Students
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • Unix*
  • Business Client
  • Code for Good
  • Windows*
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • Compilers
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Cilk™ Plus
  • Intel® Composer XE
  • Intel® Parallel Studio XE
  • Averaging filter
  • Intel® Streaming SIMD Extensions
  • Graphics
  • Intel® Core™ Processors
  • Optimization
  • Threading
  • Vectorization
  • Intel® Memory Protection Extensions (Intel® MPX) Design Considerations

    My very first exposure to buffer overflow was with Morris worm in 80’s and since then, we collectively have tried to get a good handle on buffer overflow as it impacts both security and robustness of C/C++ software. Needless to say, we have made significant progress with addressing buffer overflow via execute disable bit, Canary on stack etc. through which we are able to prevent a class of exploits after the buffer overflow has taken place.

    Subscribe to Professors