pgi compilers

  File Modified

PDF File pgiug.pdf

Dec 10, 2015 by Indy Siva

Introduction

http://www.pgroup.com/

Usage

 module load compilers/pgi-12.4

OR

module load compilers/pgi-32bit-12.4
module load compilers/pgi-12.4
pgcc --version
pgcc 12.4-0 64-bit target on x86-64 Linux -tp nehalem
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2012, STMicroelectronics, Inc.  All Rights Reserved.

module load compilers/pgi-32bit-12.4
pgcc --version

pgcc 12.4-0 32-bit target on x86-64 Linux -tp nehalem
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2012, STMicroelectronics, Inc.  All Rights Reserved.

Sample PBS script

#!/bin/bash
#####################################################################
### This section defines options for the pbs batching system
#####################################################################
#PBS -m abe
#PBS -M YourEmail@griffith.edu.au
#PBS -q workq
#PBS -l select=1:ncpus=1:mem=1gb
#PBS -l walltime=00:30:00
#PBS -N Example_sunfire_port

###Load the pgi compilers.
module load compilers/pgi-32bit-12.4

#####################################################################
### This section is for my debugging purposes (not required)
#####################################################################
echo Running on host `hostname`
echo Time is `date`
#####################################################################
### This section is setting up and running your executable or script
#####################################################################
cd /export/home/s12345/pbs/Elimination/1000mossies_5_gowonda/
echo Directory is `pwd`

pgf95 malariacq6a.f95 -lacml -o elim2.exe

/export/home/s12345/pbs/Elimination/1000mossies_5_gowonda/elim2.exe

Installation

Installation Location: /sw/compilers/PGI/12.4/

tar -zxvf /sw/compilers/PGI/src/pgi.......tar.gz
cd /sw/compilers/PGI/12.4/src
Read the INSTALL.txt
./install

>>>>>>>>>
A network installation will save disk space by having only one copy of the
compilers and most of the libraries for all compilers on the network, and
the main installation needs to be done once for all systems on the network.

1  Single system install
2  Network install

Please choose install option: 2

This script installs PGI Workstation products for the Linux operating system.

Please note that all Trademarks and Marks are the properties of their respective
owners.


Please specify the directory path under which the software will be installed.
The default directory is /opt/pgi, but you may install anywhere you wish,
assuming you have permission to do so.

Installation directory? [/opt/pgi] /sw/compilers/PGI/12.4

Common local directory on all hosts for shared objects: [/usr/pgi/12.4/share_objects]
/sw/compilers/PGI/12.4/share_objects
Note: directory /sw/compilers/PGI/12.4/share_objects was created.



This release of PGI software includes the ACML, which is a tuned math library
designed for high performance on AMD64 machines, including Opteron(TM) and
Athlon(TM) 64, and includes both 32-bit and 64-bit library versions.

If you have installed ACML with a previous PGI 2012 release, or in a
separate PGI 2012 download, you do not need to install it again.

More information about the ACML can be found at the AMD Developer web site,
http://www.developwithamd.com/acml

Install the ACML? (y/n) y



This PGI version links with ACML 4.4.0 by default.  Also available:
  (1) ACML 4.4.0
  (2) ACML 5.1.0
  (3) ACML 5.1.0 using FMA4
Enter another value to override the default (1)


This release of PGI software includes the NVIDIA CUDA Toolkit.  PGI's
accelerator compilers and CUDA Fortran use components from this Toolkit.

If you have installed CUDA 4.0 with a previous PGI 2012 release, or in
a separate PGI 2012 download, you do not need to install it again.

More information about CUDA technology can be found at the NVIDIA web site,
http://www.nvidia.com/object/cuda_home.html

Install CUDA Toolkit Components? (y/n) y


The following files may be redistributed with software applications
developed by Licensee.


* Windows
- CUDA Runtime: cudart.dll
- CUDA FFT Library: cufft.dll
- CUDA BLAS Library: cublas.dll

* MacOS
- CUDA Runtime: libcudart.dylib
- CUDA FFT Library: libcufft.dylib
- CUDA BLAS Library: libcublas.dylib

* Linux
- CUDA Runtime: libcudart.so
- CUDA FFT Library: libcufft.so
- CUDA BLAS Library: libcublas.so


The following terms and conditions apply to Licensee's use of the
components listed above ("Redistributable Components") of the SOFTWARE:

1. Customer may transfer, redistribute or sublicense, the license
rights pursuant to Section 2.1.1 of this Agreement in connection with
the Redistributable Components to end users of Licensee's products.



Do you accept these terms? (accept,decline) accept


This release of PGI software includes a beta release of the PGI OpenACC compilers.
Use of the OpenACC features is restricted under the terms of the PGI Beta
Test License Agreement. See the documentation for more information.

Install OpenACC compilers? (y/n) y


The JAVA JRE will be installed into

  /sw/compilers/PGI/12.4/linux86-64/2012/java

and will not affect applications other than PGI's pgdbg and pgprof

Install JAVA JRE 6.0_21? [yes] yes

Do you accept these terms? (accept,decline) accept
Installing software into /sw/compilers/PGI/12.4 (this may take some time).
#############


If you use the 2012 directory in your path, you may choose to
update the links in that directory to point to the 12.4 directory

Do you wish to update/create links in the 2012 directory? (y/n) n



Installing PGI JAVA components into /sw/compilers/PGI/12.4
This might take awhile ...
Installing ACML components into /sw/compilers/PGI/12.4
This might take awhile ...

script /sw/compilers/PGI/12.4/src/install_cuda
Installing PGI CUDA components into /sw/compilers/PGI/12.4
This might take awhile ...


Do you wish to install MPICH1? (y/n)y
script /sw/compilers/PGI/12.4/src/install_mpich

Remote execution method? (rsh,ssh) ssh

See the files /sw/compilers/PGI/12.4/linux86-64/12.4/mpi.csh[,.sh]
for examples of how to set your environment to run and debug MPI programs.


Do you wish to generate license keys? (y/n) n


There are two ways to obtain a license key for the PGI compilers and tools:

1. Invoke PGI's license generation tool

   /sw/compilers/PGI/12.4/linux86-64/12.4/bin/pgi_license_tool

2. Login to your PGI account on www.pgroup.com.  The hostid information for
   this computer is shown below, and is also in the file /sw/compilers/PGI/12.4/license.info.

   Place your license key in the file /sw/compilers/PGI/12.4/license.dat.


System information:

   FLEXnet hostid  "00259033a792 00259033a793"
   Hostname        n021.default.domain
   Installation    /sw/compilers/PGI/12.4
   PGI Release     12.4

   Note: If more than one 12-digit hostid is shown, use only one in
         generating your license.

The above information was saved to /sw/compilers/PGI/12.4/license.info.

The PGI license tool can be re-started by running the script located at
/sw/compilers/PGI/12.4/linux86-64/12.4/bin/pgi_license_tool.

Do you want the files in the install directory to be read-only? (y/n) y

Installation complete.



Please run makelocalrc to create /sw/compilers/PGI/12.4/linux86*/bin/localrc.$host
on all other hosts you wish to run PGI compilers.

For 32-bit system only:
    makelocalrc -x /sw/compilers/PGI/12.4/linux86/12.4 -net /sw/compilers/PGI/12.4/share_objects

For 64-bit system with 32-bit gcc libraries:
    makelocalrc -x /sw/compilers/PGI/12.4/linux86/12.4 -net /sw/compilers/PGI/12.4/share_objects
    makelocalrc -x /sw/compilers/PGI/12.4/linux86-64/12.4 -net /sw/compilers/PGI/12.4/share_objects


If you purchased a software subscription, please note that the ST support
services to you are limited to the terms described in the file
/sw/compilers/PGI/12.4/SUBSCRIPTION_SERVICE.

A copy of this file can also be found on the PGI website, at
http://www.pgroup.com/support/SUBSCRIPTION_SERVICE.


Please check the FAQ at http://www.pgroup.com/support/faq.htm for a current
listing of customer support concerns, including installation, use of PGI
software, and other questions or problems.

This product uses the STLport Standard Template Library for ANSI C++.  The
STLport license can be found at http://www.stlport.com/doc/license.html.


Configuring the startup script

>>>>>>>>>>>>
vi /sw/compilers/PGI/12.4/linux86-64/12.4/bin/lmgrd.rc .
Added flexlm user name (flex)

cp /sw/compilers/PGI/12.4/linux86-64/12.4/bin/lmgrd.rc /etc/init.d/pgilmgrd

 ln -s /etc/init.d/pgilmgrd /etc/rc.d/rc3.d/S90pgilmgrd 


Wait 15 seconds after stopping as the port 2700 needs some time to shutdown.

/etc/init.d/pgilmgrd stop;sleep 15;/etc/init.d/pgilmgrd start


chkconfig --list |grep pgi
pgilmgrd        0:off   1:off   2:off   3:on    4:off   5:off   6:off



lmgrd logs

logs are here: /var/tmp/flexlm.log

PGI Environment

  $ PATH=/opt/pgi/linux86-64/12.4/bin:$PATH
  $ export PATH
  $ MANPATH=$MANPATH:/opt/pgi/linux86-64/12.4/man
  $ export MANPATH
  $ LM_LICENSE_FILE=$LM_LICENSE_FILE:/opt/pgi/license.dat
  $ export LM_LICENSE_FILE
  $ PATH=/opt/pgi/linux86/12.4/bin:$PATH
  $ export PATH
  $ MANPATH=$MANPATH:/opt/pgi/linux86/12.4/man
  $ export MANPATH
  $ LM_LICENSE_FILE=$LM_LICENSE_FILE:/opt/pgi/license.dat
  $ export LM_LICENSE_FILE



In csh, use these commands:

    % setenv PGI /opt/pgi
    % setenv MANPATH "$MANPATH":$PGI/linux86-64/12.4/man
    % setenv LM_LICENSE_FILE $PGI/license.dat
    % set path = ($PGI/linux86-64/12.4/bin $path)

Once the 64-bit compilers are the defaults, you can make MPICH commands
and MPICH man pages accessible using these csh commands.

    % set path = ($PGI/linux86-64/12.4/mpi/mpich/bin $path)
    % setenv MANPATH "$MANPATH":$PGI/linux86-64/12.4/mpi/mpich/man


In bash, sh or ksh, use these commands:

    $ PGI=/opt/pgi; export PGI

    $ MANPATH=$MANPATH:$PGI/linux86-64/12.4/man
    $ export MANPATH
    $ LM_LICENSE_FILE=$PGI/license.dat
    $ export LM_LICENSE_FILE
    $ PATH=$PGI/linux86-64/12.4/bin:$PATH
    $ export PATH

Once the 64-bit compilers are the defaults, you can make MPICH commands
and MPICH man pages accessible using these commands.

    $ PATH=$PGI/linux86-64/12.4/mpi/mpich/bin:$PATH
    $ export PATH
    $ MANPATH=$MANPATH:$PGI/linux86-64/12.4/mpi/mpich/man
    $ export MANPATH


32-bit Compiler Commands
------------------------
The following commands make the 32-bit compilers the default.

In csh, use these commands:

    % setenv PGI /opt/pgi
    % setenv MANPATH "$MANPATH":$PGI/linux86/12.4/man
    % setenv LM_LICENSE_FILE $PGI/license.dat
    % set path = ($PGI/linux86/12.4/bin $path)

Once the 32-bit compilers are the defaults, you can make MPICH
commands and MPICH man pages accessible using these csh commands.

  To access the MPICH commands, execute this command line:
    % set path = ($PGI/linux86/12.4/mpi/mpich/bin $path)

  To access the MPICH man pages, execute this command line:
    % setenv MANPATH "$MANPATH":$PGI/linux86/12.4/mpi/mpich/man


In bash, sh or ksh, use these commands:

    $ PGI=/opt/pgi; export PGI
    $ MANPATH=$MANPATH:$PGI/linux86/12.4/man
    $ export MANPATH
    $ LM_LICENSE_FILE=$PGI/license.dat
    $ export LM_LICENSE_FILE
    $ PATH=$PGI/linux86/12.4/bin:$PATH
    $ export PATH

Once the 32-bit compilers are the defaults, you can make MPICH
commands and MPICH man pages accessible using these commands.

    $ PATH=$PGI/linux86/12.4/mpi/mpich/bin:$PATH
    $ export PATH
    $ MANPATH= $MANPATH:$PGI/linux86/12.4/mpi/mpich/man
    $ export MANPATH


 /sw/compilers/PGI/12.4/linux86-64/12.4/bin/makelocalrc  /sw/compilers/PGI/12.4/ -x /sw/compilers/PGI/12.4/linux86-64/12.4/

/sw/compilers/PGI/12.4/linux86-64/12.4/bin/makelocalrc  /sw/compilers/PGI/12.4/ -x /sw/compilers/PGI/12.4/linux86/12.4
 more /sw/compilers/PGI/12.4/linux86-64/12.4/bin/localrc
set LFC=-lgfortran;
set LDSO=/lib64/ld-linux-x86-64.so.2;
set GCCDIR=/usr/lib/gcc/x86_64-redhat-linux/4.4.6;
set GPPDIR= /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6 /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/x86_64-redhat-linux /usr/lib/gcc/x86_64-redhat-
linux/4.4.6/../../../../include/c++/4.4.6/backward /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.4.6/include /usr/include;
set GCCINC=/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include;
set G77DIR=/usr/lib/gcc/x86_64-redhat-linux/4.4.6/;
set OEM_INFO=64-bit target on x86-64 Linux $INFOTPVAL;
set NUMALIBNAME=-lnuma ;
set LOCALRC=YES;
set THROW=__THROW=;
set EXTENSION=__extension__=;
set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc);
# GLIBC version 2.12
# GCC version 4.4.6
set GCCVERSION=40406;
export PGI=$COMPBASE;

more /sw/compilers/PGI/12.4/linux86/12.4/bin/localrc
set LFC=-lgfortran;
set LDSO=/lib/ld-linux.so.2;
set GCCDIR=/usr/lib/gcc/x86_64-redhat-linux/4.4.5/32;
set GPPDIR= /usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../include/c++/4.4.5 /usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../include/c++/4.4.5/x86_64-redhat-linux/32 /usr/lib/gcc/x86_64-redh
at-linux/4.4.5/../../../../include/c++/4.4.5/backward /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.4.5/include /usr/include;
set GCCINC=/usr/lib/gcc/x86_64-redhat-linux/4.4.5/include;
set G77DIR=/usr/lib/gcc/x86_64-redhat-linux/4.4.5//32;
set OEM_INFO=32-bit target on x86-64 Linux $INFOTPVAL;
set LOCALRC=YES;
set THROW=__THROW=;
set EXTENSION=__extension__=;
set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc);
set DEFLIBDIR=/usr/lib;
set DEFSTDOBJDIR=/usr/lib;
set EXTRAASARGS=--32;
# GLIBC version 2.12
# GCC version 4.4.5
set GCCVERSION=40405;
export PGI=$COMPBASE;

trivia

License

./lmutil  lmhostid
lmutil - Copyright (c) 1989-2010 Flexera Software, Inc. All Rights Reserved.
Used the eth0 hostid.
HostiD:
0025901E6B26
hostname: 
admin.default.domain


>>>>>>>>>>
see file /sw/compilers/PGI/12.4/license.dat
>>>>>>>>>>
 /sw/compilers/PGI/12.4/linux86-64/12.4/bin/lmutil lmstat -a

Startup script

Wait 15 seconds after stopping as the port 2700 needs some time to shutdown.

/etc/init.d/pgilmgrd stop;sleep 15;/etc/init.d/pgilmgrd start

Ports used

netstat -anp|grep 27000
tcp        0      0 0.0.0.0:27000               0.0.0.0:*                   LISTEN      16588/lmgrd