PVM的安装和编译PVM程序
最近刚开始学习并发编程,学习到了PVM这一块。关于在linux系统中PVM的安装,真是要我的命,繁琐死了,最关键是我对linux也是刚开始学,还在继续学习《鸟哥的linux私房菜》一书。好了,我在这详细说说PVM的安装,和安装好PVM后,怎样去编译一个PVM程序。
一.PVM的安装
1、下载PVM软件包
根据需要及机器配置的不同,可以从http://www.netlib.org/pvm3/index.html 下载PVM软件包。我按转的是pvm3.4.6.tgz,系统是ubuntu12.04。
比如说你的PVM软件包下载到了~bokeyuan/downs/pvm3.4.6.tgz,然后你想把这个包放在/usr/local/src下面,那么按照下面的命令进行操作:
cp ~bokeyuan/downs/pvm3.4.6.tgz /usr/local/src/
cd /usr/local/src
tar -zxvf ./pvm3.4.6.tgz
2、设置环境变量
PVM在启动和运行的过程中需要用到环境变量PVM_ROOT和PVM_ARCH。每个要用到PVM的用户都需要设置这两个环境变量。环境变量 PVM_ROOT的值为PVM软件包展开后根目录所在的位置,此处应该设为“/usr/local/src/pvm3”。环境变量PVM_ARCH的值标 明了主机所对应的体系结构,对于运行Linux操作系统的主机来说,该值即为“LINUX”。
(1)若使用的是bash,则为主机上所有用户添加这两个环境变量的方法是在/etc/bashrc文件中添加如下两行脚本(但是我在我的ubuntu中没有找到,我添加在~bokeyuan/.bashrc中了):
export PVM_ROOT=/usr/local/src/pvm3
export PVM_ARCH=LINUX
(2)若使用的是csh,则应该在/etc/csh.cshrc文件中添加如下两行脚本:
setenv PVM_ROOT /usr/local/src/pvm3
setenv PVM_ARCH LINUX
source /etc/bashrc(我的就是 source ~bokeyuan/.bashrc)不要忘记执行这句话
3、编译PVM软件包
当设置的环境变量生效后,执行下面的命令来编译整个软件包:
$ cd /usr/local/src/pvm3
$ make(这里编译有可能有错误,认真看错误,是不是少按转什么东西,按照错误提示做就可以)
$ make install (好多帖子上没有这句话,我的要是没有这句话,就不可以)
好了,到此就可以编译你的pvm程序了。
二、编译PVM程序
代码部分就不说了,这里就说说怎么生成目标文件。比如我有一个文件名为pvmprogram.cc的程序,编译和链接指令为:
c++ -o pvmprogram -I$PVM_ROOT/include pvmprogram.cc -L$PVM_ROOT/lib/$PVM_ARCH -lpvm3
这里需要注意-I和$PVM_ROOT之间是没有空格的,同样-L和$PVM_ROOT之间也没有空格。
PVM的安装和编译PVM程序的更多相关文章
- 4、树莓派的中文:安装ftp,安装gcc,安装qt,编译qt程序,运行qt界面程序
本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.安装FTP:sudo apt-get install vsftpd 2.配置FTP,修改,/etc/vsftpd.conf # ...
- 他山之石——vs2013 安装与部署及程序打包
C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio .下载地址: InstallShield 2013 Limited Edi ...
- windows平台下安装、编译、使用mongodb C++ driver
本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...
- 配置指定使用tcc编译器编译nim程序
1.前言 nim是什么? nim是一门静态编译型语言,语法类似python,nim的代码被翻译成C代码再被C编译器编译成可执行文件.因此nim的可执行文件比较小,性能应该也不错. 最简单的nim程序就 ...
- eclipse安装反编译工具
身为一名程序员来说,日常最常做的就是编写代码和查看别人写好的源代码了,有时候打开别人写的class文件发现根本不是自己想要的,所以给大家介绍一种eclipse中反编译class文件的工具. 第一步:下 ...
- [转]Caffe在Linux下的安装,编译,实验
Caffe在Linux下的安装,编译,实验 原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...
- Linux - wxWidgets安装和编译HelloWorld
安装参考http://codelite.org/LiteEditor/WxWidgets30Binaries#toc2 源 /etc/apt/source.list deb http://repos. ...
- WebStorm 8.0安装LESS编译环境的教程
WebStorm是一个非常棒的Web前端开发编辑器,被程序猿们成为“最智能的JavaScript IDE”.对HTML5.Bootstrap框架.Node.js等都有完美支持.目前最新版本为WebSt ...
- Linux/Ubuntu下 静态编译Qt程序
一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序 ...
随机推荐
- 【JAVAWEB学习笔记】24_filter实现自动登录和解决全局的编码问题
过滤器Filter 学习目标 案例-自动登录 案例-解决全局的编码 一.过滤器Filter 1.filter的简介 filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标 ...
- 项目管理之 Git 管理软件 SourceTree for Mac
Git 项目管理: Mac Terminal 生成 Git 秘钥流程: git config --global user.name "yourname" git config -- ...
- malloc与new相关
前言: 通常我们使用数组的时候:必须提前用一个常量来指定数组的长度,同时它的内存空间在编译的时候就已经被分配了.但是有时候数组的长度只有在运行的时候才能知道.因此,一种简单的解决方案就是提前申请一块较 ...
- js的event事件
一 . 焦点:使浏览器能够区分区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 我们可以通过一些方式给元素设置焦点 1.点击 2.tab 3.js 不是所有元素都能够接受 ...
- Angular随笔第一课
一.调用angular 加载angular.js库(可以从google的cdn中加载类库,https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/a ...
- Struts2结合Ajax实现登录
前言:Struts2作为一款优秀的MVC框架,和Ajax结合在一起,用户就会有良好的体验,本篇博文我们来模拟一个简单的登录操作,实现Ajax的异步请求,其中Struts2进行的是链接处理,Action ...
- 学习笔记TF018:词向量、维基百科语料库训练词向量模型
词向量嵌入需要高效率处理大规模文本语料库.word2vec.简单方式,词送入独热编码(one-hot encoding)学习系统,长度为词汇表长度的向量,词语对应位置元素为1,其余元素为0.向量维数很 ...
- GPU编程--kernels(2)
"如何区分不同的数据单位单位呢?" "如何确定程序是在CPU端执行,还是GPU端执行呢?" "如何确定要调用的GPU线程数呢?" 下面举一个 ...
- JQ封装图片预加载插件
我们知道,图片的加载,特别是资源较大的图片,加载相当耗费时间.为了提高用户体验,不得不使用图片预加载技术来提前加载,以提高用户在浏览时的流畅度. 先来弄明白图片的懒加载和预加载的不同: 1)概念:懒加 ...
- 使用 bufferedreader 的好处
简单的说,一次IO操作,读取一个字节也是读取,读取8k个字节也是读取,两者花费时间相差不多.而一次IO的来回操作却要耗费大量时间.好比是一辆大型汽车(设装100人),要去车站接人到公司,接一个人也是接 ...