pgi compilers
Introduction
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