Standard Templates Adaptive Parallel Library (STAPL)
STAPL (Standard Adaptive Parallel Library) is a parallel C++ library designed as a superset of the STL, sequentially consistent for functions with the same name, and executes on uni- or multiprocessors. STAPL is implemented using simple parallel extensions of C++ which provide a SPMD model of parallelism supporting recursive parallelism. The library is intended to be of generic use but emphasizes irregular, non-numeric programs to allow the exploitation of parallelism in areas such as geometric modeling or graph algorithms which use dynamic linked data structures. Each library routine has several dicfferent algorithmic options, and the choice among them will be made adaptively based on a performance model, statistical feedback, and current run-time conditions. Builtc-in performance monitors can measure actual performance and, using an extension of the BSP model predict the relative performance of the algorithmic choices for each library routine. STAPL is intended to possibly replace STL in a user transparent manner and run on small to medium scale shared memory multiprocessors which support OpenMP.
KeywordsParallel Algorithm Random Access Performance Monitoring Performance Monitor Algorithmic Option
Unable to display preview. Download preview PDF.
- 1.N. M. Amato, A. Pietracaprina, G. Pucci, L. K. Dale and J. Perdue, “A Cost Model for Communication on a Symmetric Multiprocessor„, TR 98004, Dept. of Computer Science, Texas A&M University, January, 1998.Google Scholar
- 2.G.E. Blelloch, “NESL: A nested data-parallel language,„ Technical Report CMU-CS-92-103, School of Computer Science, Carnegie Mellon University, April 1993.Google Scholar
- 3.G.E. Blelloch, Vector Models for Data-Parallel Computing, MIT Press, 1990.Google Scholar
- 4.E. Johnson and D. Gannon, HPC++: Experiments with the Parallel Standard Library, In Proc. of the 1997 Int. Conf. on Supercomputing, 1997, pp. 124–131.Google Scholar
- 5.D. Musser and A. Saini, STL Tutorial and Reference Guide, Addison-Wesley, 1996.Google Scholar
- 6.R. Sedgewick, Algorithms in C++, Addison-Wesley, 1992.Google Scholar