欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu16.04安装 MPI + VTK,进行并行渲染

程序员文章站 2024-01-19 00:02:52
...

一、 安装MPI
官网下载源码包mpich-3.3.2.tar.gz,但是比较慢,网盘自取(提取码:t4qf)。

  1. 解压
tar xzvf mpich-3.3.2.tar.gz 
  1. 进入解压后的 mpich-3.3.2 文件夹
./configure -prefix=/YOUR_PATH/mpich-install  

这里的YOUR_PATH是你自己的路径,这里的mpich-install文件夹之后会自动再该路径下创建,是自己设定的安装mpi的位置。要记住,因为之后配置环境变量会用到。
3. 编译&安装
依次执行

make 
sudo make install

4.配置环境变量

sudo gedit /etc/environment

将里面的内容

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games“

改成

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/YOUR_PATH/mpich-install/bin"

保存环境变量更改

source /etc/environment

5.测试

#include <iostream>
#include <string.h>
#include <mpi.h>
using namespace std;

const int max_string = 100;

int main ()
{
	int comm_sz=0;
	int my_rank=0;
	char greeting[max_string];
	
	MPI_Init(NULL,NULL);
    MPI_Comm_rank(MPI_COMM_WORLD,&my_rank);
    MPI_Comm_size(MPI_COMM_WORLD,&comm_sz);

	 if(my_rank!=0){
		sprintf(greeting,"Greetings from process %d of %d!",my_rank,comm_sz);
		MPI_Send(greeting,strlen(greeting),MPI_CHAR,0,0,MPI_COMM_WORLD);
	}
	else{
		cout<<"Greetings from process "<<my_rank<<" of "<<comm_sz<<"!"<<endl;
		for(int i=1;i<comm_sz;i++){
			MPI_Recv(greeting,max_string,MPI_CHAR,i,0,MPI_COMM_WORLD,MPI_STATUS_IGNORE);
			cout<<greeting<<endl;
		}
	}
	
	MPI_Finalize ();
	return 0;
}

运行

mpirun -n 4 ./mpi_hello.o

这里可以会报个错,大概就是有个package没找到,直接根据他的提示进行安装

sudo apt install libmpi-dev 
 *(应该是这个,看提示吧)*

如果运行成功了,安装就成功了。

二、安装VTK
VTK之前先安装了OPENGL,可以去找教程,下面直接安装vtk。
安装包可以再官网下,也可以网盘自取
vtk8.0,提取码:ks91
vtk8.2,提取码:c2j3

  1. 解压
    两个版本压缩格式不一样,这里以vtk8.0为例
unzip vtk-v8.0.0\ .zip 
  1. 编译&安装
    进入解压后的文件夹
cd vtk-v8.0.0
mkdir build
cd build

因为要编译vtk使用mpi并进行并行渲染,使用ccmake进行高级配置。

ccmake ..   (首次进去应该是空的)
c
c  (这里按 c 进行多次 configure)

出现以下界面
Ubuntu16.04安装 MPI + VTK,进行并行渲染
其中 VTK_Group_MPI默认是关闭的,我们需要打开。
按 c 进行 configure(可以多configure几次)

然后按 t 进入高级配置界面,相对于现在的配置项,配置选项会很多
Ubuntu16.04安装 MPI + VTK,进行并行渲染
这里的Module_vtkRenderingParallel默认也是关闭的,我们需要打开。
同样,按 c 进行 configure(可以多configure几次)。
再按 g 进行 generation并退出。
完成上述步骤后,依次运行以下命令完成安装(需要点时间)。

cmake ..
make
sudo make install

然后就安装成功啦!^ v ^