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