BassiLogging In Accounts/Charges File Storage Programming Running Jobs Software AIX Environment IBM Manuals Detailed Specs Node Network Map Bassi Timeline Benchmark Codes Relative Performance Performance Monitoring Links
Quick Start Guide
Status & StatsUP Wed 10/31 14:51NERSC MOTD Announcements Known Problems Current Queue Look Completed Jobs List Job Stats |
Programming on BassiThe 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 ConsiderationsPlease read over Memory Considerations on Bassi if you are writing code that uses a significant amount of memory. CompilersIBM CompilersParallel programming is typically accomplished using IBM's MPI library, but the IBM compilers also support OpenMP. A Java compiler is also available. Third-Party CompilersParallel ProgrammingMost 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 OptimizationA 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 LibrariesA rich set of mathematical, visualization, I/O, and other libraries are available on Bassi. |
![]() |
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 |
![]() |