Is the Intel® Xeon Phi™ coprocessor right for me?

Download Article

Download Is the Intel® Xeon Phi™ coprocessor right for me? [PDF 383KB]

If you are reading  this article, you likely want to find out more about the Intel® Xeon Phi™ coprocessor and what it can do for the applications that you develop.  This article walks you through a simple process to quickly evaluate whether your application is best served by continuing to develop using Intel® Xeon® processors, or if adding the Intel® Xeon Phi™ coprocessor to your platform will increase your application performance.  The process will highlight key areas of parallelization, vectorization, and memory bandwidth which are essential to an application making the best use of the Intel® Xeon Phi™ coprocessor. Focusing on improving these key areas will not only prepare your application for the Intel® Xeon Phi™ coprocessor, but also improve performance on the Intel® Xeon® processor.


Click Here to download the "detailed guide".

 

1. Am I running an ISV or in-house application?

Are you developing in-house / open source / other new workloads and applications, OR are you executing a 3rd party "boxed" application? If "in-house", skip to #3, otherwise proceed to #2.

HINT: Many 3rd party applications come from independent software vendors (ISV).

2. Contact ISV to find out if and when they will support Intel® Xeon Phi™ coprocessor.

In many cases, applications are not able to take full advantage of the high levels of parallelism provided by the Intel® Xeon Phi™ coprocessor. In those cases, running the application on Intel® Xeon® processors will continue to deliver the best performance. For applications that are well-suited for Intel Xeon Phi coprocessors, there are many 3rd party providers that are working to certify their products. Since we’re not at liberty to disclose our partners’ product roadmaps, the next step is to directly contact your application provider (e.g. ISV, 3rd party, consortium, etc) to ask if and when they plan to support the Intel Xeon Phi coprocessor. If "yes", skip to #7, otherwise skip to #6.

3. Can my workload scale to over 100 threads?

In order to exceed the achievable performance level of the Intel® Xeon® processor with the Intel® Xeon Phi™ coprocessor, significantly more parallelism is required in your code (i.e. multi-threading). If your workload is suitable, the coprocessor will allow you to reach otherwise unobtainable performance levels, in exchange for your parallel programming investment. At a minimum, is your code able to scale to over 100 threads? If "yes", proceed to #4, otherwise skip to #6.

HINT: For helpful ways to measure thread scalability, scroll to page 11 in this document.

4. Can my workload benefit from large vectors?

Rather than traditional narrow MMX, SSE or AVX vector capabilities, the Intel® Xeon Phi™ coprocessor is equipped with uniquely-wide 512-bit SIMD vectors. In addition to multi-threading, your workload must also make strong use of these vector units to see a significant improvement in performance with the Intel® Xeon Phi™ coprocessor relative to the Intel® Xeon® processor. Is your application able to make strong use of vector units? If "yes", skip to #7, otherwise proceed to #5.

HINT: For helpful ways to measure vectorization, scroll to page 12 in this document. Not sure what vectorization is? Visit this link and download the "Vectorization CodeBook".

5. Can my workload benefit from more memory bandwidth?

So, your application can scale to over 100 threads, but cannot make strong use of vector units. Aside from vectorization, your workload still may be a good candidate for the Intel® Xeon Phi™ coprocessor, if it is limited by memory bandwidth while running on Intel® Xeon® processors. Is your application limited by memory bandwidth on Intel Xeon processors, and does it exhibit good locality of reference as well as utilize caches in core computations? If "yes", skip to #7, otherwise proceed to #6.

HINT: For more information about bandwidth, locality and cache utilization, please refer to pages 12 and 16 in this document.

6. Intel® Xeon® Processor

Based on your answers, your application will continue to perform best with the Intel® Xeon® processor. To find out more about the suitability criteria for Intel® Xeon Phi™ coprocessors, and to learn more about parallel programming in general, please review the complete guide at this link.

7. Intel® Xeon Phi™ Coprocessor

Based on your answers, your application may be able to unleash the highly-parallel performance of the Intel® Xeon Phi™ coprocessor. To get started today, visit our where to buy guide. For developers, check out the following website and book.

For more complete information about compiler optimizations, see our Optimization Notice.