首页 > 代码库 > CentOS 7上安装PGI 2017编译器

CentOS 7上安装PGI 2017编译器

1. 安装PGI编译器

在PGI的官方网站的右上角,有一个社区免费版(Community Edition)的下载链接(GET PGI FOR FREE),根据操作系统选择合适的版本即可。  

需要注意的是,在安装前务必对下载文件进行MD5码校验,下载网页上提供了安装包的MD5验证码,校验正确之后再进行安装,Linux系统下可以使用命令。

安装手册也一并提供,位于下载网页下方的“Documentation"--->"PGI Installation Guide“,根据操作系统可以找到详细的安装步骤。

Additional Resources

  • Documentation  
  • Learning Resources
  • User Forums
  • Porting & Tuning Guides
  • Techical Publications

Installation Guides

  •   
  • PGI Visual Fortran Installation Guide

安装过程中,需要注意:Any changes to your gcc compilers requires you to reinstall your PGI compilers.   也就是说,GCC编译器一旦有任何修改(包括更新、加载新的依赖等操作),就需要重新安装PGI编译器。

在CentOS7 x64系统上安装完成之后,对程序进行编译测试。

Makefile的全文如下:

 1 PROGRAM    = main
 2 RM         = rm -f
 3 CC         = gcc
 4 F77        = pgf90
 5 #F77FLAGS  = -g 
 6 F77FLAGS   = -g -fast
 7 
 8 SOURCES.f  = main.f
9 10 11 12 SOURCES = ${SOURCES.f} 13 OBJECTS = ${SOURCES.f:%.f=%.o} 14 15 16 17 18 19 20 all: ${PROGRAM} 21 22 ${PROGRAM}: ${SOURCES} ${OBJECTS} 23 ${F77} ${F77FLAGS} -o ${PROGRAM} ${OBJECTS} 24 25 clean: 26 ${RM} ${OBJECTS}

 

如果此时编译程序 $ make all ,则会报错如下:  

f77 -f -o moda.o moda.f 
make: f77: Command not found
make: *** [moda.o] Error 127

在终端中查询f77这个命令,确实不存在,而pgf90命令则是存在的:

$ f77 -v
bash: f77: command not found...
$ pgf90 -V

pgf90 17.4-0 64-bit target on x86-64 Linux -tp haswell
PGI Compilers and Tools
Copyright (c) 2017, NVIDIA CORPORATION.  All rights reserved.

 

2. 更新环境变量

为了使 f77 命令能链接到 PGI 编译器的程序中,需要设置环境变量并更新。这里,为了方便理解,我们用一个名为 FC 的变量来替代 f77,让 FC 指向 pgf90 命令。

首先,编辑环境变量文件

$ vi ~/.bashrc

在文件尾部加上以下PGI相关的环境变量:

# setting for PGI complier, edit by She
export PGI=/opt/pgi/linux86-64/17.4
export MANPATH=$MANPATH:$PGI/man
export LM_LICENSE_FILE=/opt/pgi/license.dat
export PATH=$PATH:$PGI/bin 
export FC=$PGI/bin/pgf90

更新环境变量: $ source ~/.bashrc 

之后,再次测试编译程序,则上一个错误已经消失。

 

CentOS 7上安装PGI 2017编译器