software overview environment, libraries, debuggers, programming tools and applications

17
Software Overview Environment, libraries, debuggers, programming tools and applications Jonathan Carter NUG Training 3 Oct 2005

Upload: doli

Post on 16-Mar-2016

43 views

Category:

Documents


2 download

DESCRIPTION

Software Overview Environment, libraries, debuggers, programming tools and applications Jonathan Carter NUG Training 3 Oct 2005. Overview. Environment Libraries Debuggers Programming Tools Applications. Environment. Suse Linux Linux Networx HPC software stack Pathscale compilers - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Overview Environment, libraries, debuggers, programming tools and applications

Software OverviewEnvironment, libraries, debuggers, programming tools and applications

Jonathan CarterNUG Training3 Oct 2005

Page 2: Software Overview Environment, libraries, debuggers, programming tools and applications

2

Overview

• Environment• Libraries• Debuggers • Programming Tools• Applications

Page 3: Software Overview Environment, libraries, debuggers, programming tools and applications

3

Environment

• Suse Linux• Linux Networx HPC software stack• Pathscale compilers• PBS Pro Batch System• GPFS HOME and SCRATCH file

systems

Page 4: Software Overview Environment, libraries, debuggers, programming tools and applications

4

Environment (cont)

• Passwords– NIM password, use NIM to change

• Shells– Default shell is tcsh, to change use NIM

interface• Startup files

– Read-only, use <name>.ext if you want to add customizations

– fixdots command will repair files

Page 5: Software Overview Environment, libraries, debuggers, programming tools and applications

5

Environment (cont)

• Access to libraries, tools and applications is controlled via modules

• Number of modules reduced compared with seaborg, since we only have 64-bit ABI and fewer software versions

Page 6: Software Overview Environment, libraries, debuggers, programming tools and applications

6

Libraries

• Math– ACML, fftw, NAG, parpack, scalapack,

superlu, (imsl, petsc)• I/O

– hdf, hdf5, netcdf– MPI I/O available via MVAPICH

• Visualization– ncar

Page 7: Software Overview Environment, libraries, debuggers, programming tools and applications

7

Libraries (cont)

• ACML– Optimized for AMD processors– BLAS 1-3, FFT and LAPACK– “fast” math functions (log is ~90 cycles

instead of ~120)– “vector” math functions, e.g. vrda_log(n, x, y) is roughly twice as fast as log at n>20.

Page 8: Software Overview Environment, libraries, debuggers, programming tools and applications

8

Libraries (cont)

• Fortran I/O– Intel/AMD hardware is little-endian,

Power is big-endian, so binary data is incompatible

– pathf90 offers several features to write binary data in big-endian format

Page 9: Software Overview Environment, libraries, debuggers, programming tools and applications

9

Libraries (cont)

• pathf90 options– -byteswapio writes all data in format opposite

to that of native processor– -conversion [native, little_endian, big_endian]– assign commandFILENV=.assignexport FILENVassign –N mips u:10

Page 10: Software Overview Environment, libraries, debuggers, programming tools and applications

10

Libraries (cont)

• Many libraries are linked at runtime, so LD_LIBRARY_PATH must include a path to each library linked against

• Modules environment takes care of this provided you load at compile time and at run time

Page 11: Software Overview Environment, libraries, debuggers, programming tools and applications

11

Debuggers

• Totalview and gdb available for serial applications

module load totalviewtotalview progname [corefile]

gdb progname [corefile]

Page 12: Software Overview Environment, libraries, debuggers, programming tools and applications

12

Debuggers (cont)

• Totalview and gdb are coming for parallel applications

• gdb opens xterm per processor

module load totalviewmpirun –tv –np procs progname

mpirun –debug –np procs progname

Page 13: Software Overview Environment, libraries, debuggers, programming tools and applications

13

Debuggers (cont)

• Generating core files– Serial applicationsulimit -S -c unlimited– Parallel applications, make shell script

progname.sh and run this via mpirun (this problem will be resolved by PBS bugfix)

#!/bin/bashulimit -S -c unlimitedexec progname

Page 14: Software Overview Environment, libraries, debuggers, programming tools and applications

14

Debuggers (cont)

• Useful Pathscale compiler options– Use –g flag to help debugging– Use –trapuv to set uninitialized (local,

automatic, alloca(); not Fortran allocatable) variables to NAN

Page 15: Software Overview Environment, libraries, debuggers, programming tools and applications

15

Debuggers (cont)

• Further information on Totalview– Etnus tutorial

http://www.etnus.com/TotalView/started/getting_started.html

– LLNL tutorial – http://www.llnl.gov/computing/tutorials/totalview/

Page 16: Software Overview Environment, libraries, debuggers, programming tools and applications

16

Programming Tools

• AMD CodeAnalyst – suite of tools to optimize code for Opteron: coming soon

• ipm – mpi overhead and performance report

• papi – interface to hardware performance counters

• tau – suite of tools enabling performance analysis of application codes

• valgrind – multiple tools to check memory use, profile cache use, detect data race conditions in threaded applications

Page 17: Software Overview Environment, libraries, debuggers, programming tools and applications

17

Applications

• Chemistry & Materials Science– GAMESS, Gaussian, Gromacs,

MOLPRO, NWChem, NAMD, VASP• Math

– maple, matlab, mathematica • Visualization

– idl, vmd• Other

– Subversion (client)