Cray Programming Environment
A Cray programozási környezet a HPE Cray termékre testre szabott könyvtárkörnyezet. Tartalmaz processzorspecifikus programozási környezeteket, fordítókat, MPI implementációt, GPU és CPU teljesítmény optimalizáló eszközöket.
Megjegyzés
Használja a CPE eszközöket a legnagyobb teljesítmény eléréséhez. A CPE eszközök biztosítják a maximális Slingshot optimalizált működést. Ugrás a Slingshot adapter leírásához
A fordítási környezet áttekintése
PrgEnv-amd |
AMD ROCm compiler (for AMD GPUs) |
PrgEnv-aocc |
AMD Optimizing C/C++ compiler |
PrgEnv-cray |
CCE provides Fortran, C and C++ compilers |
PrgEnv-cray-amd (for AMD GPUs) |
AMD Clang C/C++ and CCE Fortran compilers |
PrgEnv-gnu |
GNU compiler |
PrgEnv-gnu-amd |
AMD Clang C/C++ and GNU Fortran compilers |
PrgEnv-intel |
Intel oneAPI for Linux compiler |
atp |
Abnormal Termination Processing (ATP) |
cray-R |
R for use on HPE Cray HPC systems |
cray-ccdb |
Cray Comparative Debugger (CCDB) tool |
cray-cti |
Cray Common Tools Interface (CTI) |
cray-dsmml |
Distributed symmetric memory management library (DSMML) |
cray-dyninst |
Dynamic instrumentation libraries |
cray-fftw |
Fastest Fourier Transform in the West (FFTW3) |
cray-libpals |
Parallel Application Launch Service library |
cray-libsci |
Cray Scientific Libraries |
cray-libsci_acc |
Cray Scientific Libraries for GPU |
cray-mpich |
Cray MPICH Message Passing Interface |
cray-mpich-abi |
Cray MPICH ABI Compatibility module |
cray-mpich-abi-pre-intel-5.0 |
cray Cray MPICH pre-Intel MPI 5.0 ABI Compatibility module |
cray-mpich-ucx |
Message Passing Interface (MPI) for the UCX netmod |
cray-mrnet |
Multicast Reduction Network module |
cray-openshmemx |
Logically shared distributed memory access routines |
cray-pals |
Parallel Application Launch Service |
cray-parallel-netcdf |
Parallel I/O library for NetCDF file access |
cray-pmi |
Cray Process Management Interface |
cray-python |
Python programming language and libraries for Cray PE |
cray-stat |
Cray Stack Trace Analysis Tool |
craype |
Setup for Cray PE driver set and targeting modules |
craype-dl-plugin-ftr |
Cray PE DL Plugin with fault tolerance support |
craype-dl-plugin-py3 |
Cray PE DL Plugin for accelerating distributed deep learning |
gdb4hpc |
Cray Line Mode Parallel Debugger |
papi |
Performance API (PAPI) project specifies a standard API |
perftools-base |
Performance Tools module (CrayPat, Apprentice2, Reveal) |
sanitizers4hpc |
Fool for running HPC code instrumented with LLVM Sanitizer |
valgrind4hpc |
Valgrind-based debugging tool to aid in the detection of memory leaks |
A PrgEnv-intel környezet nem tartalmazza az Intel oneAPI parancsokat, ezekhez a régebbi intel/mpi modult kell betölteni.
A fordítási környezet használata
Minden egyes compute gépen alap esetben a Cray Compiling Environment (CCE) van betöltve a következő modulok használatával:
Currently Loaded Modulefiles:
1) craype-x86-rome 3) craype-network-ofi 5) cce/16.0.1 7) cray-dsmml/0.2.2 9) cray-libsci/23.09.1.1
2) libfabric/1.15.2.0 4) perftools-base/23.09.0 6) craype/2.7.23 8) cray-mpich/8.1.27 10) PrgEnv-cray/8.4.0
A GNU compiler betöltése a CCE compiler helyett:
module swap PrgEnv-cray PrgEnv-gnu
Az Nvidia compiler használatához be kell tölteni az NVIDIA HPC SDK környezetet:
module swap PrgEnv-cray PrgEnv-nvhpc
Programozási példák és fordításuk a Programozási modellek fejezetben találhatóak meg.
Hasznos fordító kapcsolók
Description |
GNU |
Cray |
Nvidia |
---|---|---|---|
Default Optimization |
-O0 |
-O0 |
-O1 |
Aggressive Optimization |
-Ofast |
-Ofast -flto |
-O4 -fast |
Good Performance |
-O2 -ftree-vectorize |
-O2 |
|
-funroll-loops |
-funroll-loops |
||
-ffast-math |
-ffast-math |
||
Enable OpenMP |
-fopenmp |
-fopenmp |
-mp=gpu |
Enable OpenACC |
-acc |
||
Debug |
-g -O0 |
-g -O0 |
-g (-O0 by default) |
Verbose |
-v |
-v |
-v |
Referencia kézikönyvek
Language |
Wrapper |
CCE |
GNU |
---|---|---|---|
C |
man cc |
man CC |
man ftn |
C++ |
man craycc |
man crayCC |
man crayftn |
Fortran |
man gcc |
man g++ |
man gfortran |
man page |
description |
---|---|
man intro_mpi |
Message Passing Interface (MPI) |
man intro_openmp |
OpenMP parallel programming model |
man intro_openacc |
OpenACC support for accelerators |
man intro_shmem |
Cray OpenSHMEMX Library Functions |
A Cray Programming Environment hivatalos angol nyelvű dokumentációja az alábbi linken található. Urás a HPE dokumentációs oldalra