Proceedings of the 1st International Workshop on Multicore Software Engineering 2008
DOI: 10.1145/1370082.1370089
|View full text |Cite
|
Sign up to set email alerts
|

The GNU libstdc++ parallel mode

Abstract: The C++ Standard Library implementation provided with the free GNU C++ compiler, libstdc++, provides a "parallel mode" as of version 4.3.Using this mode enables existing serial code to take advantage of many parallelized STL algorithms, an approach to making use of multi-core processors which are now or will soon will be ubiquitous. This paper describes the software engineering issues discovered during implementation, the results of user testing, and presents possible solutions to outstanding issues.Design iss… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
17
0

Year Published

2009
2009
2021
2021

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 37 publications
(17 citation statements)
references
References 12 publications
0
17
0
Order By: Relevance
“…• performance analyses of KNL that characterize profitability of MCDRAM for applications. In this paper, we make extensive use of the multithreaded multiway merge and mergesort routines in the GNU parallel library [22,23]. In our experience, these represent the current state of the art in multithreaded sorting.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…• performance analyses of KNL that characterize profitability of MCDRAM for applications. In this paper, we make extensive use of the multithreaded multiway merge and mergesort routines in the GNU parallel library [22,23]. In our experience, these represent the current state of the art in multithreaded sorting.…”
Section: Related Workmentioning
confidence: 99%
“…To sort N elements with a chunk size of w, divide the data into chunks of size N /w. Sort each chunk using the best available multithreaded sorting algorithm (GNU parallel sort at the time of this writing [22]), and merge the sorted chunks using the best available multi-way merge (again GNU parallel [22]). The final multi-way merge does not use the chunking mechanisms or even explicitly take advantage of the MCDRAM.…”
Section: Sorting Using Multilevel Memorymentioning
confidence: 99%
“…Step 2 (Sorting of Morton codes): The parallelization of this step is straightforward by using any parallel in-place sort (e.g., sort method from std::algorithm [20] or AQsort [21] parallel add to every nonzero element its Morton code; 3: parallel sort nonzero elements on its Morton code; 4: len = N/th; 5: start of parallel block 6: tid = get tid of current thread (); 7: if tid = 0 then start ← tid · len; 15: for j ← 1, c max do diff ← XOR(new , old ); 20: old ← new ; 21: k ← round up(Highest1(diff )/2); 22: for j ← 1, k do …”
Section: Parallelization 1) Sw Technologiesmentioning
confidence: 99%
“…It supports both automatic parallelization and user specified parallelization policies with several major components for containers, algorithms, random access range, data distribution, scheduling and execution. GCC 4.3's runtime library (libstdc++) provides an experimental parallel mode, which implements an OpenMP version of many C++ standard library algorithms [31]. Kambadur et al [14] proposes a set of language extensions to better support C++ iterators and function objects in generic libraries.…”
Section: Related Workmentioning
confidence: 99%