forked from numenta/nupic.core-legacy
-
Notifications
You must be signed in to change notification settings - Fork 82
Open
Labels
codecode enhancement, optimization, cleanup..programmer stuffcode enhancement, optimization, cleanup..programmer stuffon_holdoptimizationwaits_dependency
Milestone
Description
After #55
https://www.phoronix.com/scan.php?page=news_item&px=Intel-Parallel-STL-libstdc-libc
Paralel TS, as defined in c++17, should soon be available in GCC, Clang (supported in MSVC already 👍 )
I'm very interested to test its performance.
- it allows code from to be run in parallel, vectorized imlicitely.
EDIT:
- requires C++17 Switch to c++17 #55 and
transformfrom<algorithms> - blocked by need of more widespread support for C++17
TS Parallel- currently only MSVC; stdlibc++ (gcc), and libc++ (clang) in progress
https://www.phoronix.com/scan.php?page=news_item&px=Intel-Parallel-STL-libstdc-libc
- currently only MSVC; stdlibc++ (gcc), and libc++ (clang) in progress
PROs:
- easy to implement
- usable in all code (allies to small sniplet, loop)
- seamless
CONs:
- gains may not be that big
- blocked by lacking compiler/libstdc++ support, ETA 2019 earliest?
I will experiment with this, some progress outline, @breznak
TODO:
- obtain gcc-9 for ubuntu -- from PPA
- codebase compiles with g++-9
- decided for c++17 standard Parallel TS, currently requires g++-9 & TBB
- install TBB >= 2018.6 from package pinning from Eoan
- if rolled for generic use, build as a dependency from cmake: https://github.com/intel/tbb
- demo code on sorting
- SP optimizations
- header that sorts support if possible, same as boost-vs-cpp17
- design some control over used thread counts based on num CPU cores
- test parallel execution on CI
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
codecode enhancement, optimization, cleanup..programmer stuffcode enhancement, optimization, cleanup..programmer stuffon_holdoptimizationwaits_dependency