I use modules to manage software on the cluster. The modules are installed on the shared file system, which means that they are accessible to any of the 40 compute nodes and the 2 head nodes on the cluster.
QUESTION : Am I permitted to install the PGI compiler on the shared filesystem, or must it be installed on the local disk on the head node?
Please excuse that spell check is changing lemonde to lemonade.
If you are working on Linux, a Network install in a commonly mounted
area may be easier to maintain.
You install once on machine A, ‘Network Install’ in /common/mounted/opt/pgi
On every platform, determine a local directory path (like /usr/local/pgi)
that can be created on every platform. This is the ‘common local directory name’.
For each additional platform B you simply
export PGI=/common/mounted/opt/pgi
export PATH=$PGI/linux86-64/16.10/bin:$PATH
run ‘add_network_host’
This creates localrc.hostnameB which will use the same installed compilers
with the platform specific versions of gcc headers and libs.
All should be able to run the PGI compilers from this one installation using the community license.
One last question. All of the computers on our network are identical (e.g. all the locally stored files are identical in location and version). If I build this and then decide to move it to a different location on the shared filesystem, will it break the functionality of the executable / libraries that are built by the install script? In other words, does the pgi install script (and code), when building use the absolute or relative pathnames?
Other than needing to adjusting the modulefiles appropriately, preliminary testing with pgcc seems to show that moving the built directory doesn’t break it.
On Linux, you can move the installation to another directory.
you should tar/untar to move the installation, and not ‘cp’.
There are files that begin with a ‘.’ and they do not get copied -
but tar/untar will get all of them.
\
When you move, edit $PGI/linux86-64/16.10/bin/localrc or localrc.hostname
and change the old $PGI path in the file.