Upload
douglas-hutchinson
View
216
Download
2
Tags:
Embed Size (px)
Citation preview
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