Release overview introduction
This publication is an overview of the HPE Cray Compiling Environment (CCE) 17.0.1 release. CCE provides Fortran, C, and C++ compilers for HPE Cray EX supercomputer systems and HPE Apollo 2000 Gen10Plus systems.
Product and OS dependencies
This HPE CCE release is available for:
HPE Cray supercomputer systems running HPE Cray System Management (CSM) 1.5 with HPE Cray Supercomputing Operating System (COS) 23.11 and (SLES15 SP5),
HPE Cray Supercomputer systems running HPCM 1.11 with COS 23.11 (SLES15 SP5),
HPE Cray Supercomputer systems running HPCM 1.10 with COS 2.5.145+ and (SLES15 SP4), or
HPE Apollo 2000 Gen10Plus systems running HPCM 1.10 with RHEL 8.8.
Note that:
COS 23.11 components comprises:
COS Base
HPE Cray Supercomputing User Services Software (USS)
HPE SUSE Linux Enterprise Server
AMD GPU offloading support requires at least ROCm 5.0 and has been tested up to ROCm 5.7.
Package description
This HPE CCE release consists of:
HPE Cray Fortran compiler (17.0.1)
C and C++ compilers (17.0.1)
CrayLibs libraries and utilities (17.0.1)
Supporting documentation and man pages
Software enhancements and support
This section describes software enhancements and support details for the HPE CCE 17.0.1 release.
Language technology
HPE Cray Fortran fully supports the Fortran 2018 standard.
The C and C++ compilers are based on Clang and LLVM 17.0.6.
C fully supports c89 with partial support for c99, c11, and c17.
C++ fully supports C++17 with partial support for C++20 and C++23.
LLVM version 17.0.6 base.
Miscellaneous features
Added OMPT device tracing support, which allows for profiling of OpenMP-based applications
Tuned support for MI300A Accelerated Processing Unit (APU)
Added experimental LLVM Address Sanitizer (ASAN) compiler support for AMD GPUs for Fortran
Compatibilities, incompatibilities, and differences
The OpenACC
acc_handle_kindtype size has been changed from 4 to 8 bytes. This update requires the recompilation of any code that uses this data type.Linking Fortran applications might fail with the
hidden symbol <SYMBOL> in <LIB> is referenced by DSOerror message. If you encounter this error message, add-lgcc_sto the issued link line. Note that this issue can affect the use ofcraypatandcray-parallel-netcdfbut can be seen without them.Programs compiling with
-fopenmpmust use CUDA 12.1.1 (or later) or alternatively, manually change the header to mitigate thecuda_fp16.hheader bug detailed in the upstream issue.
Accessing product documentation
Access HPE documents and man pages for HPE CCE releases from:
HPE Support Center
Access PDF versions of all CCE documents at the HPE Support Center. See Available publications for a complete list.
To narrow search results from the HPE Support Center website, enter the publication and release number (for example, S-5212 17.0.1).
Release Package
All HPE Cray Programming Environment (CPE) and HPE Cray Compiling Environment (CCE) documents are included in documentation tar files provided in the release package. See Available publications for details.
Man pages
Man pages are textual help files available from the command line on HPE and HPE Cray systems. To access man pages, enter the
mancommand followed by the name of the man page. For more information about man pages, see theman(1)man page by entering:hostname> man man
Basic CCE
manpages provided includecrayftn(1),craycc(1),crayCC(1),intro_openmp(7), andintro_MPI(3).The
ftn(1),cc(1), andCC(1)man pages are disambiguation man pages that provide basic introductions to the compiler environment. For information specific to the CCE Fortran compiler, see thecrayftn(1)man page. For information specific to the CCE C, C++, or UPC compiler, see theclang(1)man page.Alternatively, the
craycc(1)andcrayCC(1)man pages are aliases that redirect to the Clang C, C++, and UPC man page.Third-party documentation
Third-party documentation is not provided by HPE.
Available publications
Publications supporting the compiling environment are:
Document Title |
Number |
Updated for CCE 17.0.1? |
|---|---|---|
HPE Cray Compiling Environment Release Overview (this document) |
S-5212 |
Yes |
HPE Cray Fortran Reference Manual |
S-3901 |
Yes |
HPE Cray C and C++ Quick Reference |
S-2179 |
Yes |
The system-based programming environment installation and user guides are:
System |
Guide |
|---|---|
HPE Cray EX systems running CSM |
HPE Cray Programming Environment Installation Guide: CSM on HPE Cray EX Systems (S-8003) |
HPE Cray Programming Environment User Guide: CSM on HPE Cray EX Systems (S-8005) |
|
HPE Cray EX or HPE Cray supercomputer systems running HPCM |
HPE Cray Programming Environment Installation Guide: HPCM on HPE Cray EX and HPE Cray Supercomputer Systems (S-8022) |
HPE Cray Programming Environment User Guide: HPCM on HPE Cray EX and HPE Cray Supercomputer Systems (S-8023) |
|
HPE Apollo 2000 Gen10 Plus systems |
HPE Cray Programming Environment Installation Guide: Apollo 2000 Gen10 Plus (x86) System (S-8012) |
HPE Cray Programming Environment User Guide: Apollo 2000 Gen10 Plus (x86) System (S-8008) |
|
All systems |
HPE Performance Analysis Tools User Guide (S-8014) |
Additional resources
Product |
Documentation Source |
|---|---|
Clang/LLVM C and C++ compiler |
Documentation for the CCE C and C++ compilers is available here, in the |
GNU compilers |
Documentation for the GNU C and Fortran compilers is available here |
glibc |
glibc documentation is available here |
GLIB |
GLIB documentation is available here |
RPM |
RPM documentation is available here |
Installing CCE
To install CCE:
hostname# rpm -ivh <rpm_name>.<arch>.rpm
To set CCE version <version> as default:
hostname# /opt/cray/pe/admin-pe/set_default_files/set_default_cce_<version>
All CPE installation guides are available on the HPE Support Center. The appropriate installation guide for the system is included in the documentation tar file packaged with the release.
System |
Guide |
|---|---|
HPE Cray EX systems running CSM |
HPE Cray Programming Environment Installation Guide: CSM on HPE Cray EX Systems (S-8003) |
HPE Cray EX or HPE Cray supercomputer systems running HPCM |
HPE Cray Programming Environment Installation Guide: HPCM on HPE Cray EX and HPE Cray Supercomputer Systems (S-8022) |
HPE Apollo 2000 Gen10 Plus systems |
HPE Cray Programming Environment Installation Guide: Apollo 2000 Gen10 Plus (x86) System (S-8012) |
Using the HPE Cray Compiling Environment
To use CCE:
hostname> module load PrgEnv-cray
This module defines the system paths and environment variables needed to build an application using CCE for supported systems and loads and links additional libraries as required. The exact modules loaded vary depending on the system type.
To switch to the x.y.z version of CCE:
hostname> module swap cce cce/x.y.z
Note that users at sites that opt to not enable CPE by default must source $CRAY_ENABLE_PE to enable use of the CPE module environment.
Compiling and linking code
To compile and link code, always use either the ftn, cc, or CC command. Due to the multiple compiling environments potentially available on HPE systems, the craype module provides compiler drivers that forward the ftn, cc, and CC commands to the commands required by specific compilers.
Documentation resources
For detailed information about the Cray compiler options, directives, pragmas, and optimizations, see the Cray Fortran Reference Manual (S-3901), HPE Cray C/C++ Quick Reference (S-2197), and Clang Compiler User’s Manual.