The NIG Supercomputer

Parallel Computing Library

Intel MPI Library

Intel's MPI implementation.

In the general division of the NIG supercomputer, the environment for using Intel MPI is set.

xxxxx@at139:~/mpitest$ env |grep I_MPI
I_MPI_ROOT=/lustre7/software/intel_ubuntu/oneapi/mpi/2021.11

xxxxx@at139:~/mpitest$ which mpiicx
/lustre7/software/intel_ubuntu/oneapi/mpi/2021.11/bin/mpiicx

Compilation is performed as follows:

xxxxx@at139:~/mpitest$ mpiicx mpi_test.c -o mpi_test
yxxxx@at139:~/mpitest$ ls
mpi_test  mpi_test.c  sample1.sh

Execution is done using a job script like the one below for AGE, and then running qsub. (For advanced optimization and detailed profiling, use the Intel queue. The example below is submitted to the epyc queue for easier execution due to its configuration.)

#!/bin/bash
#$ -cwd
#$ -V
#$ -l epyc


#$ -l d_rt=192:00:00
#$ -l s_rt=192:00:00
#$ -pe mpi 4
#$ -l s_vmem=20G
#$ -l mem_req=20G
#$ -N example

mpirun ./mpi_test

You execute as follows:

yxxxx@at139:~/mpitest$ qsub ./sample1.sh 
Your job 25616887 ("example") has been submitted
yxxxx@at139:~/mpitest$ qstat
job-ID     prior   name       user         state submit/start at     queue                          jclass                         slots ja-task-ID 
------------------------------------------------------------------------------------------------------------------------------------------------
  25601953 0.25480 QLOGIN     yxxxx        r     02/27/2024 08:39:03 login.q@at139                                                     1        
  25604295 0.25384 QLOGIN     yxxxx        r     02/27/2024 11:20:07 login.q@at139                                                     1        
  25616887 0.25106 example    yxxxx        r     02/27/2024 22:06:02 epyc.q@at155                                                      4        

The execution result will look like this:

yxxxx@at139:~/mpitest$ more example.o25616887 
Hello world from processor at147, rank 2 out of 4 processors
Hello world from processor at155, rank 0 out of 4 processors
Hello world from processor at156, rank 3 out of 4 processors
Hello world from processor at144, rank 1 out of 4 processors

Intel oneAPI DPC++ Library (oneDPL)

This component includes the following C++ base library:

Refer to the following for more details:

Intel oneDAL (Data Analytics Library)

A library for accelerating big data analytics applications and distributed computing. Refer to the following for detailed information:

On the NIG supercomputer, ensure the following directory is included in your LD_LIBRARY_PATH:

/lustre7/software/intel_ubuntu/oneapi/dal/2023.2.0/lib/intel64

Intel OneTBB (Threading Building Blocks)

A multi-threaded C++ library providing the following functionalities for parallel programming on CPUs, in addition to those available through SYCL* and ISO C++:

Refer to the following for detailed information:

The environment can be loaded using the module command:

$ module load tbb
Loading tbb version 202

1.10.0
$ module list
Currently Loaded Modulefiles:
 1) tbb/2021.10.0 

Check if the following path is included in your LD_LIBRARY_PATH:

/lustre7/software/intel_ubuntu/oneapi/tbb/2021.11/lib