Software Archive
Read-only legacy content
17061 Discussions

performance jpeg on phi

Martin_C_1
Beginner
284 Views
Hello. I am new in Phi world. I tested jpeg encoding performance (tested on image 1680x1050, single thread): 14 ms - xeon E5-2620 - libjpeg-turbo with SIMD 39 ms - xeon E5-2620 - libjpeg-turbo without SIMD 24 ms - xeon E5-2620 - intel ijg80b with IPP 42 ms - xeon E5-2620 - intel ijg80b without IPP (#undef USE_IPP) 386 ms - xeon Phi 31S1P - native intel ijg80b with IPP 557 ms - xeon Phi 31S1P - native intel ijg80b without IPP (#undef USE_IPP) 435 ms - xeon Phi 31S1P - native libjpeg-turbo without SIMD Is the performance on Phi so bad even with IPP "acceleration" (nearly 28x) ? Is there any better Phi implementation of jpeg encoding ? Thanks for answers and happy new year, Martin
0 Kudos
2 Replies
jimdempseyatthecove
Honored Contributor III
284 Views

The strength of the Xeon Phi is with its 512-bit wide vector unit. I suspect that your encoding routine is not fully utilizing the wide vector capability. Also, Xeon Phi programs should be multi-threaded, at least 2 threads per core.

Happy New Year

Jim Dempsey

0 Kudos
TaylorIoTKidd
New Contributor I
284 Views

Martin,

Another factor to consider is the # of data sets you are transferring, their size, and the duration of the encoding you are trying to perform. If you are moving and processing small data sets frequently, the communication costs will be large (you're moving data over a PCIe bus). Even with an effective use of the 512-bit SIMD vector engine and the large amount of parallelism, the computation has to be significantly larger than the communication costs to use the coprocessor to advantage. Though I haven't done tests for extremely large images (or small ones), jpeg encoding may not be appropriate for the coprocessor.

Regards
--
Taylor
 

0 Kudos
Reply