NERSC logo National Energy Research Scientific Computing Center
  A DOE Office of Science User Facility
  at Lawrence Berkeley National Laboratory
 

Programming on Bassi

The programming environment on Bassi based on AIX 5.3, IBM's variant of UNIX. In your NERSC-supplied shell-initialization files, the environment variable OBJECT_MODE is set to have the value "64". This sets the build environment to create executables and objects that use 64-bit memory addressing. This is the recommended setting for Bassi. If you override the NERSC defaults, you will get 32-bit addressing.

Memory Considerations

Please read over Memory Considerations on Bassi if you are writing code that uses a significant amount of memory.

Compilers

IBM Compilers

Parallel programming is typically accomplished using IBM's MPI library, but the IBM compilers also support OpenMP. A Java compiler is also available.

Third-Party Compilers

Parallel Programming

Most codes run on Bassi use the MPI library to communicate data between nodes. See MPI Resources for more information.

OpenMP directives can be used to create parallel threads of execution in a shared-memory environment, which translates to single node on the NERSC SP. OpenMP and MPI constructs may be mixed within a single program. See Running Jobs on Bassi for more information.

Debugging and Optimization

A number of tools facilitate debugging and profiling code. Much optimization can be accomplished with the proper IBM Compiler Optimization Flags.

Tutorials and How-To's

Programming Libraries

A rich set of mathematical, visualization, I/O, and other libraries are available on Bassi.


LBNL Home
Page last modified: Fri, 07 Mar 2008 22:36:48 GMT
Page URL: http://www.nersc.gov/nusers/systems/bassi/programming.php
Web contact: webmaster@nersc.gov
Computing questions: consult@nersc.gov

Privacy and Security Notice
DOE Office of Science