@@ -479,23 +479,23 @@ After executing the complied binary file, following output should be displayed.
Number of available platforms: 1
Platform names:
[0] Intel(R) OpenCL [Selected]
[0] Intel(R) OpenCL [Selected]
Number of devices available for each type:
CL_DEVICE_TYPE_CPU: 1
CL_DEVICE_TYPE_GPU: 0
CL_DEVICE_TYPE_ACCELERATOR: 1
CL_DEVICE_TYPE_CPU: 1
CL_DEVICE_TYPE_GPU: 0
CL_DEVICE_TYPE_ACCELERATOR: 1
** Detailed information for each device ***
CL_DEVICE_TYPE_CPU[0]
CL_DEVICE_NAME: Intel(R) Xeon(R) CPU E5-2470 0 @ 2.30GHz
CL_DEVICE_AVAILABLE: 1
CL_DEVICE_NAME: Intel(R) Xeon(R) CPU E5-2470 0 @ 2.30GHz
CL_DEVICE_AVAILABLE: 1
...
CL_DEVICE_TYPE_ACCELERATOR[0]
CL_DEVICE_NAME: Intel(R) Many Integrated Core Acceleration Card
CL_DEVICE_AVAILABLE: 1
CL_DEVICE_NAME: Intel(R) Many Integrated Core Acceleration Card
CL_DEVICE_AVAILABLE: 1
...
```
...
...
@@ -579,23 +579,23 @@ An example of basic MPI version of "hello-world" example in C language, that can
#include<mpi.h>
intmain(argc,argv)
intargc;
char*argv[];
intargc;
char*argv[];
{
intrank,size;
intrank,size;
intlen;
charnode[MPI_MAX_PROCESSOR_NAME];
intlen;
charnode[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc,&argv);/* starts MPI */
MPI_Comm_rank(MPI_COMM_WORLD,&rank);/* get current process id */
MPI_Comm_size(MPI_COMM_WORLD,&size);/* get number of processes */
MPI_Init(&argc,&argv);/* starts MPI */
MPI_Comm_rank(MPI_COMM_WORLD,&rank);/* get current process id */
MPI_Comm_size(MPI_COMM_WORLD,&size);/* get number of processes */
MPI_Get_processor_name(node,&len);
MPI_Get_processor_name(node,&len);
printf("Hello world from process %d of %d on host %s n",rank,size,node);
MPI_Finalize();
return0;
printf("Hello world from process %d of %d on host %s n",rank,size,node);
MPI_Finalize();
return0;
}
```
...
...
@@ -722,8 +722,8 @@ The output should be again similar to:
Please note that the **"mpiexec.hydra"** requires a file the MIC filesystem. If the file is missing please contact the system administrators. A simple test to see if the file is present is to execute:
```bash
$ ssh mic0 ls /bin/pmi_proxy
/bin/pmi_proxy
$ ssh mic0 ls /bin/pmi_proxy
/bin/pmi_proxy
```
**Execution on host - MPI processes distributed over multiple accelerators on multiple nodes**
...
...
@@ -769,8 +769,8 @@ The launch the MPI program use:
@@ -851,7 +851,7 @@ An example of a machine file that uses 2 >hosts (**cn205** and **cn206**) and 2
cn206-mic0:2
```
In addition if a naming convention is set in a way that the name of the binary for host is **"bin_name"** and the name of the binary for the accelerator is **"bin_name-mic"** then by setting up the environment variable**I_MPI_MIC_POSTFIX** to **"-mic"** user do not have to specify the names of booth binaries. In this case mpirun needs just the name of the host binary file (i.e. "mpi-test") and uses the suffix to get a name of the binary for accelerator (i..e. "mpi-test-mic").
In addition if a naming convention is set in a way that the name of the binary for host is **"bin_name"** and the name of the binary for the accelerator is **"bin_name-mic"** then by setting up the environment variable**I_MPI_MIC_POSTFIX** to **"-mic"** user do not have to specify the names of booth binaries. In this case mpirun needs just the name of the host binary file (i.e. "mpi-test") and uses the suffix to get a name of the binary for accelerator (i..e. "mpi-test-mic").
```bash
$ export I_MPI_MIC_POSTFIX=-mic
...
...
@@ -864,8 +864,8 @@ To run the MPI code using mpirun and the machine file "hosts_file_mix" use:
@@ -901,4 +901,4 @@ Please note each host or accelerator is listed only per files. User has to speci
Optimization
------------
For more details about optimization techniques please read Intel document[Optimization and Performance Tuning for Intel® Xeon Phi™ Coprocessors](http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization"http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization")
For more details about optimization techniques please read Intel document[Optimization and Performance Tuning for Intel® Xeon Phi™ Coprocessors](http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization"http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization")