1 / 22

NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

reyna
Download Presentation

NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NERSC Software RoadmapDavid Skinner, NERSC Division, Berkeley Lab

  2. Overview • AIX 5L – 32/64 bit issues • Compiler Upgrades • Applications and Libraries

  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

  4. 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

  5. Compiler Upgrades: Applied After AIX upgrade

  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

  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

  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.

  9. New OpenMP API • workshare • copyprivate • num_threads • nestable locks • omp_get_wtime, omp_get_wtick • arrays in reduction clauses

  10. 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.

  11. Going Away • KCC - Will be Intel only in future versions • xldb - Unsupported later this Summer

  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.

  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 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

  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

  15. 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

  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

More Related