LINUX Ubuntu 平台上安装PGI的pgf90编译器
在编译代码时提示找不到pgf90的指令,网上查了一下,发现可能是系统里没有安装pgf90的原因,找到了joesgod的文章https://blog.csdn.net/joesgod/article/details/95507211,这里提供了下载試用版PGI获得pfg90编译指令的方法,作者列出了下载PGI的网址和安装的具体方法。但可能是网站做了修改的原因,没有找到文中提到的下载链接,于是反复尝试了一下,最后成功地下载到了pgf90的编译器。作者是纯新人,有问题欢迎指出。
PGI下载链接
在下载PGI之前需要先注册PGI官网的账户,注意要用单位邮箱或者Gmail邮箱注册(作者用的是Gmail邮箱),否则注册页面不会出现验证码。
PGI注册网址
注册完成后,打开下载链接
下载链接
打开该链接后,勾选 “I accept the license agreement”复选框,在弹出的菜单中点击“Linux_x84_64 DEB”按钮,出现安装指令(这里作者选择DEB的原因是作者看到ubuntu里安装包的后缀都是deb,所以试了一下,发现可以)。打开终端,按照安装指令分步骤执行。
1.$ wget https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc-21-2_21.2_amd64.deb
2.$ wget https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc-2021_21.2_amd64.deb
3.$ sudo apt-get install ./nvhpc-21-2_21.2_amd64.deb
4.$ sudo apt-get install ./nvhpc-2021_21.2_amd64.deb
这里的意思应该是先下载再安装,这里有两个要下载的安装包,为了更清楚含义,把网站上列出的安装指令拆成四步。现在想想,网站上意思是不是只要下载安装其中一个安装包就行了?不太清楚,总之作者是全部安装下载了。
安装完成后,作者一度不知道安装的位置在哪里,后来翻看了一下joesgod这里提到的后续操作,发现作者这里的安装位置是/opt/nvidia,再稍微浏览一下,发现其下属bin文件中就有pgf90的指令,具体路径是/opt/nvidia/hpc_sdk/Linux_x84_64/21.2/compilers/bin/pgf90。
那么找到后该怎么用呢?查找资料后,发现可以设置PATH变量。PATH变量是全局变量,在零一快学编著的《零基础Linux从入门到精通》(广东人民出版社)一书中提到,PATH记录了命令执行文件。比如我们执行ls查看当前目录文件,其实执行的是/usr/bin/ls,当输入ls时,系统从PATH路径下逐一检索是否存在ls的执行文件,PATH各个路径通过“:”分割。于是受到启发,查询了PATH的修改方法,其中一种是在进程中做临时的修改,输入指令:
@PATH=$PATH:/opt/nvidia/hpc_sdk/Linux_x84_64/21.2/compilers/bin
该指令的含义是把pgf90的路径临时添加到PATH变量中。如此设置之后,作者再调用pgf90指令进行源文件的编译时,发现可以成功编译。
当然,如果不想每次都设置一遍PATH变量的话,那么就在网上搜一下永久把该路径添加到PATH全局变量的方法吧。
最后感慨一下,对于linux零基础的人在遇到linux平台上代码运行错误的问题时,真的要查很多资料,CSDN这个网站提供了特别多的帮助,在这里给网站点个赞!