ubuntu下安装openmp和mpi环境



1.进入终端,选择一个自己的目录,安装MPICH2
   运行命令:sudo apt-get install mpich2


2.安装配置文件并且进行设置
   运行命令1:touch mpd.conf
   运行命令2:chmod 600 mpd.conf
   在mpd.conf文件中输入以下文本内容并保存:
   MPD_SECRETWORD=mr.chen


3.开启mpi服务器并且进行编译执行mpi文件
   3.1 开启mpi环境:mpdboot (我没有手动开启,后面的操作也成功)
   3.2 编译mpi文件(-o Hello 指定输出文件的名称):mpicc -o Hello Hello.c
   3.3 执行生成的二进制文件(-np 4:表示用4个进程):mpirun -np 4 ./Hello
   运行结果如下:
   user@ubuntu:~/test_mpi_examples$ mpirun -np 4 ./Hello
Hello world! Processor 0 of 4 on ubuntu
Hello world! Processor 1 of 4 on ubuntu
Hello world! Processor 3 of 4 on ubuntu
Hello world! Processor 2 of 4 on ubuntu


4.关闭mpi服务器
   运行命令:mpdcleanup


附加测试文件(Hello.c):


#include "mpi.h"
#include
#include


int main(int argc, char **argv)
{
int myid, numprocs;
int namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];


MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Get_processor_name(processor_name, &namelen);


fprintf(stderr, "Hello world! Processor %d of %d on %s\n", myid, numprocs, processor_name);


MPI_Finalize();
return 0;
}
OPENMP 环境:openmp库都是随编译器一起发布的,如果你的程序是源代码编译的,只要编译器支持openmp编译选项就肯定能用。GNU,intel的都支持,包括gcc,gfortran,icc,ifort。
如果是GCC,那么编译的命令应该是 gcc -fopenmp -o exefile sourcefile,这里的-fopenmp很重要。

你可能感兴趣的:(ubuntu,并行计算,编译器)