STAPL is a parallel programming library for C++. STAPL has adopted the generic programming philosophy of the C++ Standard Template Library (STL). It provides a collection of parallel algorithms (pAlgorithms) that process data stored in parallel containers (pContainers) defined by the library. STAPL provides abstract data types defined as parallel views (pViews), which are analogous to the concept of iterators in the STL.
Data mining is becoming a common activity in a variety of industrial settings. We have implemented three very different data mining algorithms from a Top-10 list of data mining algorithms using STAPL. Data mining algorithms require a variety of data structures. STAPL gives the programmer a complete set of parallel data structures needed for data mining algorithms. 1) K-means Clustering uses arrays. 2) Page Rank uses graphs. 3) Frequent Itemset Mining uses maps and vectors.
STAPL provides nested parallelism with a uniform programming model across parallel delivery mechanisms. Data mining algorithms are an active research area. STAPL gives the programmer a robust implementation of nested parallelism, which can be used to develop new data mining algorithms for advanced architectures in a platform-independent manner.