Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2228 Discussions

Can each thread on Xeon Phi be given private data areas in the offload model

Anders_S_1
New Contributor III
530 Views

Hi,

I want to calculate a  Jacobian matrix, which is a sum of 960 (to be simple) 3x3 matrices  by distributing the calculations of these 3x3 matrices to a Xeon Phi card. The calculation of the 3x3 matrices uses a third party library whose subroutines use an interger vector not only for the storage of parameter values but also to write and read intermidiate results. It is therefore necessary for each task to have this integer vector protected from other tasks. Can this be obtained on the physical core level or even for each thread (each Xeon Phi has 60x4=240 threads. 

If I got it right the MPI commands can be used on the dual 6C Xeon host to let 2x6  cores or 2x6x2 threads offload to the Xeon Phi card. 

To be clear I would like to do this under Windows if possible.

Best regards

Anders S

0 Kudos
1 Reply
Steve_H_Intel1
Employee
530 Views


Anders:

>I want to calculate a  Jacobian matrix, which is a sum of 960 (to be simple) 3x3 matrices  by distributing the calculations of these 3x3
>matrices to a Xeon Phi card. The calculation of the 3x3 matrices uses a third party library whose subroutines use an interger vector
>not only for the storage of parameter values but also to write and read intermidiate results. It is therefore necessary for each task to
>have this integer vector protected from other tasks. Can this be obtained on the physical core level or even for each thread (each
>Xeon Phi has 60x4=240 threads.

    I believe that the answer is yes. One idea you might want to possibly consider is to array-expand the "integer vector" based on the number of MPI ranks, where each MPI rank is only allowed to access the portion of the "integer vector" that is associated with its rank value. 

>If I got it right the MPI commands can be used on the dual 6C Xeon host to let 2x6  cores or 2x6x2 threads offload to the Xeon Phi card.
>
>
>To be clear I would like to do this under Windows if possible.

    You may want to read the article titled, "Using Windows Instead of Linux as a Host for Xeon Phi Coprocessor", which can be found at the URL:

    http://goparallel.sourceforge.net/using-windows-instead-linux-host-xeon-phi-coprocessor/

The URL:

     https://software.intel.com/en-us/articles/debugging-intel-xeon-phi-applications-on-windows-host

references an article titled, "Debugging Intel® Xeon Phi™ Applications on Windows* Host". You might find this useful, also.

Thank you,

-Steve

0 Kudos
Reply