MPI and Pthread
并行计算
并行可以用openmpi,也可以用mpich,二者应该是并列的。但是由于二者提供了几乎一样的命令,所以二者可以同时安装,但是不可以同时处于使用状态。
openmpi
安装openmpi:
sudo yum install openmpi openmpi-devel
安装后,二进制文件位于 /usr/lib64/openmpi/bin 下,动态库文件位于 /usr/lib64/openmpi/lib 下,因而实际使用的话还需要额外的配置,在 .bashrc 中加入如下语句:
export PATH=/usr/lib64/openmpi/bin/:${PATH}
module load mpi/openmpi-x86_64
PS:要使用 module 命令需要先安装 environment-modules 包。
mpich
安装mpich:
sudo yum install mpich mpich-devel
安装后,二进制文件位于 /usr/lib64/mpich/bin 下,动态库文件位于 /usr/lib64/mpich/lib 下,因而实际使用的话还需要额外的配置,在 .bashrc 中加入如下语句:
export PATH=/usr/lib64/mpich/bin/:${PATH}
module load mpi/mpich-x86_64
Note
只能使用一个,我选择openmpi
C和C++编译命令不同,一个是mpicc,一个是mpicxx
pthread
编译命令
g++ -lrt -lpthread PI.cpp -o PI