MCSTL: The Multi-Core Standard Template Library Xiaofan Liu
Introduction STL : Standard Template Library MCSTL: Shared memory systems Small inputs Dynamic load balancing The level of parallelism
Algorithms
Embarrassingly parallel Find Partition Sort
Algorithms Embarrassingly Parallel: “Work stealing” A user-tunable granularity
Algorithms Find: m: the first matching element’s position Size of blocks m 0 m M
Algorithms Partition: a blocked strategy O(n/p+p) Sort: Multiway Mergesort: Load-Balanced Quicksort :
Software Engineering OpenMP 2.5 Using the MCSTL in a program Website:
Experimental Result
Conclusion Already done Future work: Implementation of worthwhile functions Add dynamic load balancing to more functions Configure it with right tuning parameters Integrate it with the external memory library STXXL
Thank you~~