titan cross compile

8
ORNL is managed by UT-Battelle for the US Department of Energy Titan Cross Compile Adam Simpson OLCF User Support

Upload: elaine-hart

Post on 02-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Titan Cross Compile. Adam Simpson OLCF User Support. Titan node structure - connectivity. Internet. SSH. External Login. Service Nodes. qsub. aprun. Compute Nodes. Titan node structure - processor. External Login 4 x 8 core AMD Magny - Cours Service Nodes 6 core AMD Istanbul - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Titan Cross Compile

ORNL is managed by UT-Battelle for the US Department of Energy

Titan Cross Compile

Adam Simpson

OLCF User Support

Page 2: Titan Cross Compile

2 Cross Compiling

Titan node structure - connectivity

ExternalLogin

ServiceNodes

Internet

SSH

aprunqsub

ComputeNodes

Page 3: Titan Cross Compile

3 Cross Compiling

Titan node structure - processor

• External Login– 4 x 8 core AMD Magny-Cours

• Service Nodes– 6 core AMD Istanbul

• Compute Nodes– 16 core AMD Interlagos

Page 4: Titan Cross Compile

4 Cross Compiling

Cray Compile Wrapper

• CC, cc, ftn

• Controlled by xt-asyncpe module

• Sets compiler based on PrgEnv-* module– Same command for PGI, GNU, Cray, Intel

• Sets optimizations and target processor/arch.

• Adds libraries based on loaded Cray modules– Networking/Communication libraries(MPI, GNI, PMI, etc.)– Science Libraries(CUDA, LibSci, NetCDF, ...)– ALPS libraries

Page 5: Titan Cross Compile

5 Cross Compiling

Compile for login/service nodes

• Don’t run wrapper compiled code on non compute nodes– Illegal instruction

• Interlagos has AVX/SSE4 instructions

– Missing shared libraries• Error while loading shared libraries: libalpslli.so.0

Page 6: Titan Cross Compile

6 Cross Compiling

Compile for login/service nodes

• module load craype-target-local_host– Compile for external login / service node*– Doesn’t add Cray specific libraries– Doesn’t work as advertised

• module load craype-target-native– Target node common instruction set– Doesn’t add any module related libraries

• No MPI, LibSci, CUDA, etc.

• Bypass wrappers– pgcc, pgCC, pgfortran : gcc, g++, gfortran– craycc, crayc++, crayftn : icc, icpc, ifort

Page 7: Titan Cross Compile

7 Cross Compiling

Compile for login/service nodes

• If Cray libraries required on external logins– module switch craype-interlagos craype-mc8

• If Cray libraries required on service nodes– module switch craype-interlagos craype-istanbul

Page 8: Titan Cross Compile

8 Cross Compiling

CLE 5.2 Changes

• xt-asyncpe: deprecated– renamed craype

• craype-target-*: deprecated– craype-interlagos– craype-istanbul– craype-mc8– craype-network-gemini– craype-network-none