Taskflow: Creating Parallel Algorithm Primitives
- Mentors
- Tsung-Wei Huang
- Organization
- NumFOCUS
- Technologies
- c++, Taskflow, STL
- Topics
- algorithms, Parallel Programming, Multithreading
The C++ Standard Template Library (STL) provides many algorithms to sort, search, and perform a variety of operations on numerous data structures in its algorithms library. However, a major issue with the STL is that it is not optimized for parallel programming. Despite the fact that nearly all processors ship today with multithreading available, the STL is currently single threaded, leaving its algorithms library running at suboptimal efficiency. Taskflow is a C++ parallel programming library that organizes functions into tasks that it then can run concurrently or consecutively, depending on the user’s goal. My project will reimplement the STL’s algorithm library using Taskflow so that it can take advantage of multithreading.