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.
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
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.
Intel® Advanced Vector Extensions 512 (Intel® AVX-512)
The figures, tables, drawings, etc. used in our book can be downloaded from the book's website. We appreciate attribution, but there are no restrictions on use in educational material (presentations)!
Suggestion attribution: (c) 2013 Jim Jeffers and James Reinders, used with permission.
This two day webinar series introduces you to the world of multicore and manycore computing with Intel® Xeon® processors and Intel® Xeon Phi™ coprocessors. Expert technical teams at Intel discuss development tools, programming models, vectorization, and execution models that will get your development efforts powered up to get the best out of your applications and platforms.
Answers for the questions raised during the June session of our Introduction to High Performance Application Development for Intel® Xeon® and Intel® Xeon Phi™ processors class have been assembled. There were some duplicates and other questions we couldn't decipher, either because of the wording or because of implied context that was not spelled out, and a couple where we just didn't find an answer. We tried to address the rest, which appear below: