220 likes | 331 Views
NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab. Overview. AIX 5L – 32/64 bit issues Compiler Upgrades Applications and Libraries. AIX 5L @ seaborg : End of July. Most changes are in the kernel or systems software User environment is very similar to AIX 4.3
E N D
NERSC Software RoadmapDavid Skinner, NERSC Division, Berkeley Lab
Overview • AIX 5L – 32/64 bit issues • Compiler Upgrades • Applications and Libraries
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
AIX 5L (continued) • ksh93 • /usr/sbin/bindprocessor 1. 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
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
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
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.
New OpenMP API • workshare • copyprivate • num_threads • nestable locks • omp_get_wtime, omp_get_wtick • arrays in reduction clauses
New Compiler Bugs (none planned) • The compiler bug resolution process ay NERSC bug report NERSC confirms reduce to supported SW make 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.
Going Away • KCC - Will be Intel only in future versions • xldb - Unsupported later this Summer
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.
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 extensions from gcc/g++ to enhance Linux/AIX interoperability. Directives #cpu, #assert, #unassert, #machine, #system, #warning #pragma unroll #pragma pack #pragma weak Language Constructs local labels typeof function attributes * support for noreturn, const, weak, and pure * accept and ignore the rest of many platform specific attributes
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
Applications and Libraries on seaborg Tools Totalview Zerofault Vampir VAST KAP Visualization dx AVS IDL VMD xv Libraries ESSL PESSL BLAS ScaLAPACK LAPACK FFTW PETSC MASS Aztec PMAPI PAPI NAG (Par)Metis HDF netCDF Chemistry Qchem NAMD Gaussian NWChem Amber Utilities Emacs Vim Ghostscript GNU.tools MySQL
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