64-bit Linux Considerations. STMicroelectronics PGI
বিজ্ঞাপন
বিজ্ঞাপন
Deploying Applications on Linux
To use the shared object version of a library, the application must also link to shared object versions of the
PGI runtime libraries. To execute an application built in such a way on a system on which PGI compilers are
not
installed, those shared objects must be available.To build using the shared object versions of the runtime libraries, use the
-Bdynamic option, as shown here:
$ pgf90 -Bdynamic myprog.f90
64-bit Linux Considerations
On 64-bit Linux systems, 64-bit applications that use the
-mcmodel=medium
option sometimes cannot be successfully linked statically. Therefore, users with executables built with the
-mcmodel=medium
option may need to use shared libraries, linking dynamically. Also, runtime libraries built using the
-fpic
option use
32-bit offsets, so they sometimes need to reside near other runtime libs
in a shared area of Linux program memory.
Note
If your application is linked dynamically using shared objects, then the shared object versions of the
PGI runtime are required.
Linux Redistributable Files
There are two methods for installing the shared object versions of the runtime libraries required for applications built with PGI compilers and tools: Linux Portability Package and manual distribution.
PGI provides the Linux Portability Package, an installation package that can be downloaded from the PGI web site. In addition, when the PGI compilers are installed, there are directories that have a name that begins with
REDIST
for each platform (linux86 and linux86-64); these directories contain the redistributed shared object libraries. These may be redistributed by licensed PGI customers under the terms of the PGI End-User License
Agreement.
Restrictions on Linux Portability
You cannot expect to be able to run an executable on any given Linux machine. Portability depends on the system you build on as well as how much your program uses system routines that may have changed from
Linux release to Linux release. For example, one area of significant change between some versions of Linux is in libpthread.so
. PGI compilers use this shared object for both the option
-Mconcur
(auto-parallel) and the option
-mp
(OpenMP) programs.
Typically, portability is supported for forward execution, meaning running a program on the same or a later version of Linux; but not for backward compatibility, that is, running on a prior release. For example, a user who compiles and links a program under Suse 9.1 should not expect the program to run without incident on a Red Hat 9.0 system, which is an earlier version of Linux. It
may
run, but it is less likely. Developers might consider building applications on earlier Linux versions for wider usage.
Installing the Linux Portability Package
You can download the Linux Portability Packages from the Downloads page at http://www.pgroup.com. First download the package you need, then untar it, and run the install script. Then you can add the installation directory to your library path.
146
ডাউনলোড
বিজ্ঞাপন