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

N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 NERSC Software Roadmap David Skinner, NERSC Division, Berkeley Lab

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

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