NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab
description
Transcript of NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
1
NERSC Software Roadmap
David Skinner, NERSC Division, Berkeley Lab
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
2
Overview
• AIX 5L – 32/64 bit issues
• Compiler Upgrades
• Applications and Libraries
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
3
AIX 5L @ seaborg : End of July • Most changes are in the kernel or systems software
• User environment is very similar to AIX 4.3
• NERSC will continue to use a 32 bit kernel and the default mode for compiled objects will also be 32 bit, until the end of the year.
• 64 bit MPI, PMAPI, hpmtoolkit will no longer be beta
• Key point: 32 and 64 bit objects can not be linked (ld nm and ar use the “-X64” flag to specify the bit mode)
• 64 bit objects compiled under AIX 4.3 will not work under AIX 5L
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
4
AIX 5L (continued)
• ksh93 • /usr/sbin/bindprocessor1. To see which processors are available:
bindprocessor -q e.g. “The available processors are: 0 1 2 3”2. To bind the threads in process 19254 to processor 1:
bindprocessor 19254 1
• Begin/EndCriticalSection() calls• See IBM Redbook “AIX 5L Differences Guide” for more
information
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
5
Compiler Upgrades: Applied After AIX upgrade
IBM XL Fortran 7.1.1
Fortran 90/95
OMP 1.0
8.1
~Fortran 200x
OMP 2.0
IBM XL C 5.0.2
ISO C 89
OMP 1.0
6.0
ISO C 99
OMP 2.0
IBM XL C++ 5.0.2
ANSI 98 C++
No OMP
6.0
ANSI 98 C++
OMP 1.0
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
6
New xlf features
• Int2
• TYPE I/O intrinsic
• SIZEOF intrinsic (ala the C sizeof(TYPE) call)
• Selected Fortran 200x features– IEEE Modules
– Allocatable components (define allocatable sotrage in strcuts)
– Intent for f90 pointers
• VAX structure and Union
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
7
New C/C++ Features
• OMP 1.0 for C++
• complex type
• restrict keyword
• variable length arrays
• inline function specifier
• hex floating constants
• partial initialization of structs/aggregate using names
• function like macros with VARARGS
• Misc. improvements with templates
• gcc binary compatibility, name mangling (C only)
• Dropped: LPEX editor, incremental compiler, IBM IOC library
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
8
New Options
• -qsmallstack
for large numbers of threads, less stack overhead
• -qessl
Automatically use essl for f90 intrisics like matmul
• -qsmp=noopt
To debug omp codes. This option skips optimization that may interfere with debugging. Currently –qsmp=omp implies optimization.
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
9
New OpenMP API
• workshare
• copyprivate
• num_threads
• nestable locks
• omp_get_wtime, omp_get_wtick
• arrays in reduction clauses
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
10
New Compiler Bugs (none planned)
• The compiler bug resolution process ay NERSC
bug report NERSC confirms reduce to supported SWmake testcase send to IBM wait or for efix install/test
• Efixes are often installed live, please report regressions quickly, as they can sometimes be undone.
• Multiple Compiler Version Support:
will allow user to choose the feature set (and bug set) most appropriate to their codes.
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
11
Going Away
• KCC - Will be Intel only in future versions
• xldb - Unsupported later this Summer
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
12
New gcc/g++
• NERSC staff will try to keep these up to date
• Currently some incompatibilities between
libg++ and the AIX linker regarding weak symbols
• gcc/g77 can use -mpe to create POE executables– This flag provides a “mpgcc” etc.
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
13
AIX Linux Affinity• IBM initiative to provide AIX with user environment and features from Linux
• E.g., zlib, openssh, libungif, libtiff, libpng, rpm, perl suite etc packaged for AIX at http://www.ibm.com/servers/aix/products/aixos/linux/
• IBM compilers will support the following compiler extensionsfrom gcc/g++ to enhance Linux/AIX interoperability.
Language Constructs local labelstypeof
function attributes* support for noreturn, const, weak, and pure* accept and ignore the rest of many platform specific attributes
Directives#cpu, #assert, #unassert,#machine, #system, #warning#pragma unroll#pragma pack#pragma weak
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
14
Future Compiler Directions
Foccus will be on improving:
-qpdf profile directed inlining , instrumentation feedback opt
-qipa being continued worked on
-qhot and -qipa will do loop level optimization globally
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
15
Applications and Libraries on seaborg
ChemistryQchemNAMD GaussianNWChemAmber
LibrariesESSLPESSLBLASScaLAPACKLAPACKFFTWPETSCMASSAztecPMAPIPAPINAG(Par)MetisHDFnetCDF
ToolsTotalviewZerofaultVampirVASTKAP
UtilitiesEmacsVimGhostscriptGNU.toolsMySQL
VisualizationdxAVSIDLVMDxv
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
16
Requesting Software
• Use “module avail” to see if it’s already available
• HPC libraries of general use with friendly licenses are preferred
• Online request forms:
http://hpcf.nersc.gov/forms/nuser_only/sw_orderform.html
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
17
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
18
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
19
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
20
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
21
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER
22