zoukankan      html  css  js  c++  java
  • CentOS 7上安装PGI 2017编译器

    1. 安装PGI编译器

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

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

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

    Additional Resources

    Installation Guides

    安装过程中,需要注意: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 

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

  • 相关阅读:
    ObjectForScripting 注册
    取消mysql表中timestamp字段的自动更新
    分片与非分片使用聚合的区别
    java类加载过程
    springboot中使用solr8
    第四章
    获取cookie的两种方式和session共享解决方案
    剑指 Offer 57. 和为s的两个数字
    第三章
    第五章
  • 原文地址:https://www.cnblogs.com/snake553/p/7192138.html
Copyright © 2011-2022 走看看