next up previous
Next: Revision History

Shared-Memory Parallelization Library (SMPlib)

Version 2.5, 2001-05

Haoqiang Jin <hjin@nas.nasa.gov>
NASA Advanced Supercomputing Division, NASA Ames Research Center


The Shared-Memory Parallelization Library (SMPlib) is designed for parallel processing on a shared memory machine. The concept was derived from MLPlib [1] developed by James Taft, but with extended functionality and syntax. The SMPlib routines are implemented with the standard Unix fork, mmap and flock (or more efficient atomic operation if available). The Application Programming Interface (API) of the library has been defined for both C and Fortran and is compatible with 32-bit and 64-bit hardware architectures. An overview of SMPlib and its comparison with other programming paradigms is given in [2]. This document summarizes the SMPlib v2.5 API.


A pdf version of this document is available (here, 98KB).


1. Revision History
2. Environment Variables
3. Application Programming Interface
3.1 Prototype Definition
3.2 Process Creation
3.3 Memory Allocation
3.4 Synchronization
3.5 Data Reduction
3.6 Utility Routines
4. Non-SMPlib-API Routines
5. List of Error Codes
Bibliography
About this document ...


Haoqiang Jin 2005-08-10