NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

22
NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER 1 NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

description

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 - PowerPoint PPT Presentation

Transcript of NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

Page 1: 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

Page 2: 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

Page 3: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 4: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 5: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 6: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 7: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 8: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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.

Page 9: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 10: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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.

Page 11: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

11

Going Away

• KCC - Will be Intel only in future versions

• xldb - Unsupported later this Summer

Page 12: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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.

Page 13: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 14: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 15: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

15

Applications and Libraries on seaborg

ChemistryQchemNAMD GaussianNWChemAmber

LibrariesESSLPESSLBLASScaLAPACKLAPACKFFTWPETSCMASSAztecPMAPIPAPINAG(Par)MetisHDFnetCDF

ToolsTotalviewZerofaultVampirVASTKAP

UtilitiesEmacsVimGhostscriptGNU.toolsMySQL

VisualizationdxAVSIDLVMDxv

Page 16: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

Page 17: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

17

Page 18: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

18

Page 19: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

19

Page 20: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

20

Page 21: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

21

Page 22: NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

NATIONAL ENERGY RESEARCH SCIENTIFIC COMPUTING CENTER

22