Originally posted by: Nicole Trudeau
Before you apply PTF3 to XL C/C++ for Linux 16.1.1 or XL Fortran for Linux 16.1.1, please consider that to use these compilers, you will need to install a new version of the CUDA toolkit and re-compile all code to be offloaded to GPUs with PTF3.
The NVIDIA CUDA Toolkit is required to compile and link programs that contain code to be offloaded to the NVIDIA GPUs on your IBM Power Systems server. XL C/C++ for Linux 16.1.1.3 and XL Fortran for Linux 16.1.1.3 (PTF3) drop support for the NVIDIA CUDA 9.2 Toolkit. PTF3 instead supports the NVIDIA CUDA 10.1 Toolkit. If your application has code to be offloaded to GPUs, you will need to recompile your whole application with PTF3 since you cannot link programs that have been compiled with versions on different sides of this version boundary.
We recommend the following upgrade procedure:
- Install the NVIDIA CUDA 10.1 Toolkit. [ Download ]
- Apply PTF3 to your XL C/C++ for Linux 16.1.1 / XL Fortran for Linux 16.1.1 compiler installation.
- The Community Edition has been updated with PTF3. You may get this update through your Linux repository or the ibm.com website [ C/C++ | Fortran ]
- Paid edition users can download PTF3 from Fix Central [ C/C++ | Fortran ]
- Reconfigure the compiler for CUDA 10.1 by running the xlc_configure and xlf_configure tools.
Multiple versions of XL compilers (and their associated NVIDIA CUDA Toolkits) installed to independent locations can coexist on the same system. The only requirement is that you install the NVIDIA CUDA 10.1 Toolkit last, after the older toolkits are installed. For example, if you have the 16.1.0 and 16.1.1 XL compilers installed on the same machine and you would like to upgrade the 16.1.1 compilers to PTF3 while keeping the 16.1.0 compilers, do not uninstall the NVIDIA CUDA 9.2 Toolkit. Instead, install the NVIDIA CUDA 10.1 Toolkit, apply PTF3 to the 16.1.1 installation, and reconfigure only the upgraded 16.1.1 installation.
If you try to use an older CUDA toolkit with 16.1.1.3, you might see errors such as this:
nvlink fatal : Input file '/gpfs/software/opt/xlc/16.1.1.3/xlC/16.1.1/lib/libxldevice.a:_cxa_exception_f.o' newer than toolkit (101 vs 100)