<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic FAQs: Libraries in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/FAQs-Libraries/m-p/964213#M22485</link>
    <description>&lt;P&gt;In the period prior to the launch of Intel® Xeon Phi™ coprocessor, Intel collected questions from developers who had been involved in pilot testing. This document contains some of the most common questions asked.&lt;/P&gt;
&lt;P&gt;The Intel® Compiler reference guides can be found at:&lt;/P&gt;
&lt;P&gt;C/C++:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-lin/index.htm"&gt;http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-lin/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Fortran:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-lin/index.htm"&gt;http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-lin/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Intel® MPI reference guide and the addendum for the Intel® Many Core architecture (Intel® MIC) architecture can be found at:&lt;/P&gt;
&lt;P&gt;Reference:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/index.htm"&gt;http://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Addendum:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/default/files/article/327178/intelmpi4.1-releasenotes-linux-addendum-for-mic.pdf"&gt;http://software.intel.com/sites/default/files/article/327178/intelmpi4.1-releasenotes-linux-addendum-for-mic.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Intel® Math Kernel Libraries (Intel® MKL) reference guide can be found at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/index.htm"&gt;http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I disable automatic offloads for a specific Intel® MKL call, or on a specific coprocessor?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can disable automatic offloads by calling mkl_mic_disable().&lt;/P&gt;
&lt;P&gt;Alternately, you can use &lt;I&gt;mkl_mic_set_workdivision&lt;/I&gt; to assign the entire computation to only the host and effectively disable offloads. This can be done as:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;mkl_mic_set_workdivision(MKL_TARGET_HOST,0,1.0);&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You can also set the work division to zero on each coprocessor to completely disable offloads or just one to disable on a specific coprocessor. For e.g.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;mkl_mic_set_workdivision(MKL_TARGET_MIC,0,0.0);&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) Which Intel MKL Functional domains are supported on Intel Many Integrated Core (Intel MIC) Architecture?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The Intel MKL 11.0 Update 2 supports the following functional domains on Intel MIC Architecture:&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Optimized&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;BLAS level 3, and much of level 1 and 2&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Sparse BLAS: CSRMV, CSRMM (Native only)&lt;/LI&gt;
&lt;LI&gt;Some important LAPACK routines: (LU, QR, Cholesky)&lt;/LI&gt;
&lt;LI&gt;Fast Fourier Transforms&lt;/LI&gt;
&lt;LI&gt;Vector Math Library (Native Only)&lt;/LI&gt;
&lt;LI&gt;Random number generators in the Vector Statistical Libraries&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Not Supported&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Poisson Solver&lt;/LI&gt;
&lt;LI&gt;Iterative Sparse Solvers&lt;/LI&gt;
&lt;LI&gt;Trust Region Solvers.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Supported&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Everything else.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;To find more information, please visit &lt;A href="http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/index.htm#GUID-108D4F3E-D299-4D35-BAED-ECC5B48DA57E.htm"&gt;this&lt;/A&gt; page.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How can I use Intel MKL and third-party applications together?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Articles describing how to use the Intel MKL with other third-party libraries and application such as Numpy*, Scipy*, Matlab*, C#, Python*, and NAG* can be found &lt;A href="http://software.intel.com/en-us/articles/intel-mkl-and-third-party-application-how-to-use-their-together/"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How can I control the threading in Intel MKL routines?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can control the parallelization within the Intel MKL routines with by using MKL threading support functions and some environment variables. You can read more at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-using-intel-mkl-with-threaded-applications/"&gt;http://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-using-intel-mkl-with-threaded-applications/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I run the Intel® MPI Library on the Intel Xeon Phi coprocessor?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can find more about running Intel MPI on the Intel Xeon Phi coprocessor at&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/how-to-run-intel-mpi-on-xeon-phi"&gt;http://software.intel.com/en-us/articles/how-to-run-intel-mpi-on-xeon-phi&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) Which Intel MPI-files do I need to transfer to the coprocessor for my MPI application?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Several binaries and libraries need to be transferred to the Intel Xeon Phi coprocessor to execute MPI applications on the coprocessor. You can find more information at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/mpi-specific-files-for-intel-xeon-phi-what-is-needed"&gt;http://software.intel.com/en-us/articles/mpi-specific-files-for-intel-xeon-phi-what-is-needed&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How can I pin Intel MPI processes on the Intel Xeon Phi coprocessor? &lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Information on pinning Intel MPI processes on the Intel Xeon Phi coprocessor can be found at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/mpi-and-process-pinning-on-xeon-phi"&gt;http://software.intel.com/en-us/articles/mpi-and-process-pinning-on-xeon-phi&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I pin processes and associated threads under Intel MPI in a hybrid MPI-OpenMP model in native mode?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can pin processes and associated threads using &lt;I&gt;I_MPI_PIN_DOMAIN&lt;/I&gt; and &lt;I&gt;KMP_AFFINITY&lt;/I&gt; environment variables.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;For 4 or fewer OpenMP threads per MPI process set the variables as follows:&lt;/LI&gt;
&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_PIN_DOMAIN=core&lt;/I&gt;;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For e.g. to pin 4 threads per process use:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_DOMAIN=core; OMP_NUM_THREADS=4;&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;For more than 4 OpenMP threads per MPI process set the variables as follows:&lt;/LI&gt;
&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_DOMAIN=omp; KMP_AFFINITY=compact;&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For e.g. to pin 8 threads per process use:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_DOMAIN=omp; KMP_AFFINITY=compact; OMP_NUM_THREADS=8&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In this case, remember to set &lt;I&gt;OMP_NUM_THREADS&lt;/I&gt; as a multiple of four, to avoid splitting cores.&lt;/P&gt;
&lt;P&gt;Also, setting &lt;I&gt;I_MPI_DEBUG=5&lt;/I&gt; reveals the MPI process affinity map.&lt;/P&gt;
&lt;P&gt;You can read more about OpenMP-MPI interoperability at &lt;A href="http://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/Interoperability_with_OpenMP.htm"&gt;this&lt;/A&gt; page.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I pin threads within an offload created by an Intel MPI process?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;This is the case where you have multiple mpi processes on the host where each process loffloads some work to the Intel Xeon Phi coprocessor.&amp;nbsp; To keep the multiple MPI processes from running their offloaded code on the same threads, careful setting of the OpenMP KMP_AFFINITY environment variable is required.&amp;nbsp; . To pin threads and prevent interference, use a long command line with &lt;I&gt;KMP_AFFINITY&lt;/I&gt; proclist settings as shown below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;mpiexec.hydra&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&amp;nbsp;&amp;nbsp;-env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[1-8],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;: -env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[9-16],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;: -env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[17-24],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;: -env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[24-32],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In the above example, there is one argument set per MPI process separated by a “:” which is used as separators of different argument sets.&lt;/P&gt;
&lt;P&gt;For more information, please visit &lt;A href="http://software.intel.com/en-us/articles/using-mpi-and-xeon-phi-offload-together"&gt;this&lt;/A&gt; page.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) Does the Intel Xeon Phi coprocessor have support for Berkeley Lab Checkpoint/Restart (BLCR)?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Currently the Intel Xeon Phi coprocessor has no support for BLCR.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 06 Mar 2013 22:34:50 GMT</pubDate>
    <dc:creator>Sumedh_N_Intel</dc:creator>
    <dc:date>2013-03-06T22:34:50Z</dc:date>
    <item>
      <title>FAQs: Libraries</title>
      <link>https://community.intel.com/t5/Software-Archive/FAQs-Libraries/m-p/964213#M22485</link>
      <description>&lt;P&gt;In the period prior to the launch of Intel® Xeon Phi™ coprocessor, Intel collected questions from developers who had been involved in pilot testing. This document contains some of the most common questions asked.&lt;/P&gt;
&lt;P&gt;The Intel® Compiler reference guides can be found at:&lt;/P&gt;
&lt;P&gt;C/C++:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-lin/index.htm"&gt;http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-lin/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Fortran:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-lin/index.htm"&gt;http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-lin/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Intel® MPI reference guide and the addendum for the Intel® Many Core architecture (Intel® MIC) architecture can be found at:&lt;/P&gt;
&lt;P&gt;Reference:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/index.htm"&gt;http://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Addendum:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/default/files/article/327178/intelmpi4.1-releasenotes-linux-addendum-for-mic.pdf"&gt;http://software.intel.com/sites/default/files/article/327178/intelmpi4.1-releasenotes-linux-addendum-for-mic.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Intel® Math Kernel Libraries (Intel® MKL) reference guide can be found at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/index.htm"&gt;http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/index.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I disable automatic offloads for a specific Intel® MKL call, or on a specific coprocessor?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can disable automatic offloads by calling mkl_mic_disable().&lt;/P&gt;
&lt;P&gt;Alternately, you can use &lt;I&gt;mkl_mic_set_workdivision&lt;/I&gt; to assign the entire computation to only the host and effectively disable offloads. This can be done as:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;mkl_mic_set_workdivision(MKL_TARGET_HOST,0,1.0);&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You can also set the work division to zero on each coprocessor to completely disable offloads or just one to disable on a specific coprocessor. For e.g.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;mkl_mic_set_workdivision(MKL_TARGET_MIC,0,0.0);&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) Which Intel MKL Functional domains are supported on Intel Many Integrated Core (Intel MIC) Architecture?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The Intel MKL 11.0 Update 2 supports the following functional domains on Intel MIC Architecture:&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Optimized&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;BLAS level 3, and much of level 1 and 2&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Sparse BLAS: CSRMV, CSRMM (Native only)&lt;/LI&gt;
&lt;LI&gt;Some important LAPACK routines: (LU, QR, Cholesky)&lt;/LI&gt;
&lt;LI&gt;Fast Fourier Transforms&lt;/LI&gt;
&lt;LI&gt;Vector Math Library (Native Only)&lt;/LI&gt;
&lt;LI&gt;Random number generators in the Vector Statistical Libraries&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Not Supported&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Poisson Solver&lt;/LI&gt;
&lt;LI&gt;Iterative Sparse Solvers&lt;/LI&gt;
&lt;LI&gt;Trust Region Solvers.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Supported&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Everything else.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;To find more information, please visit &lt;A href="http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/index.htm#GUID-108D4F3E-D299-4D35-BAED-ECC5B48DA57E.htm"&gt;this&lt;/A&gt; page.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How can I use Intel MKL and third-party applications together?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Articles describing how to use the Intel MKL with other third-party libraries and application such as Numpy*, Scipy*, Matlab*, C#, Python*, and NAG* can be found &lt;A href="http://software.intel.com/en-us/articles/intel-mkl-and-third-party-application-how-to-use-their-together/"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How can I control the threading in Intel MKL routines?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can control the parallelization within the Intel MKL routines with by using MKL threading support functions and some environment variables. You can read more at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-using-intel-mkl-with-threaded-applications/"&gt;http://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-using-intel-mkl-with-threaded-applications/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I run the Intel® MPI Library on the Intel Xeon Phi coprocessor?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can find more about running Intel MPI on the Intel Xeon Phi coprocessor at&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/how-to-run-intel-mpi-on-xeon-phi"&gt;http://software.intel.com/en-us/articles/how-to-run-intel-mpi-on-xeon-phi&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) Which Intel MPI-files do I need to transfer to the coprocessor for my MPI application?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Several binaries and libraries need to be transferred to the Intel Xeon Phi coprocessor to execute MPI applications on the coprocessor. You can find more information at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/mpi-specific-files-for-intel-xeon-phi-what-is-needed"&gt;http://software.intel.com/en-us/articles/mpi-specific-files-for-intel-xeon-phi-what-is-needed&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How can I pin Intel MPI processes on the Intel Xeon Phi coprocessor? &lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Information on pinning Intel MPI processes on the Intel Xeon Phi coprocessor can be found at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/mpi-and-process-pinning-on-xeon-phi"&gt;http://software.intel.com/en-us/articles/mpi-and-process-pinning-on-xeon-phi&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I pin processes and associated threads under Intel MPI in a hybrid MPI-OpenMP model in native mode?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You can pin processes and associated threads using &lt;I&gt;I_MPI_PIN_DOMAIN&lt;/I&gt; and &lt;I&gt;KMP_AFFINITY&lt;/I&gt; environment variables.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;For 4 or fewer OpenMP threads per MPI process set the variables as follows:&lt;/LI&gt;
&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_PIN_DOMAIN=core&lt;/I&gt;;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For e.g. to pin 4 threads per process use:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_DOMAIN=core; OMP_NUM_THREADS=4;&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;For more than 4 OpenMP threads per MPI process set the variables as follows:&lt;/LI&gt;
&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_DOMAIN=omp; KMP_AFFINITY=compact;&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For e.g. to pin 8 threads per process use:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I_MPI_PIN_DOMAIN=omp; KMP_AFFINITY=compact; OMP_NUM_THREADS=8&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In this case, remember to set &lt;I&gt;OMP_NUM_THREADS&lt;/I&gt; as a multiple of four, to avoid splitting cores.&lt;/P&gt;
&lt;P&gt;Also, setting &lt;I&gt;I_MPI_DEBUG=5&lt;/I&gt; reveals the MPI process affinity map.&lt;/P&gt;
&lt;P&gt;You can read more about OpenMP-MPI interoperability at &lt;A href="http://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/Interoperability_with_OpenMP.htm"&gt;this&lt;/A&gt; page.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) How do I pin threads within an offload created by an Intel MPI process?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;This is the case where you have multiple mpi processes on the host where each process loffloads some work to the Intel Xeon Phi coprocessor.&amp;nbsp; To keep the multiple MPI processes from running their offloaded code on the same threads, careful setting of the OpenMP KMP_AFFINITY environment variable is required.&amp;nbsp; . To pin threads and prevent interference, use a long command line with &lt;I&gt;KMP_AFFINITY&lt;/I&gt; proclist settings as shown below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;mpiexec.hydra&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&amp;nbsp;&amp;nbsp;-env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[1-8],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;: -env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[9-16],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;: -env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[17-24],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;: -env MIC_OMP_NUM_THREADS 10 -env MIC_KMP_AFFINITY granularity=fine,proclist=[24-32],explicit -n 1 ./myApp&lt;/I&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In the above example, there is one argument set per MPI process separated by a “:” which is used as separators of different argument sets.&lt;/P&gt;
&lt;P&gt;For more information, please visit &lt;A href="http://software.intel.com/en-us/articles/using-mpi-and-xeon-phi-offload-together"&gt;this&lt;/A&gt; page.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q) Does the Intel Xeon Phi coprocessor have support for Berkeley Lab Checkpoint/Restart (BLCR)?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Currently the Intel Xeon Phi coprocessor has no support for BLCR.&lt;/P&gt;
&lt;P&gt;______________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Mar 2013 22:34:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/FAQs-Libraries/m-p/964213#M22485</guid>
      <dc:creator>Sumedh_N_Intel</dc:creator>
      <dc:date>2013-03-06T22:34:50Z</dc:date>
    </item>
  </channel>
</rss>

