aboutsummaryrefslogtreecommitdiffstats
path: root/src/portable-api.c
Commit message (Collapse)AuthorAgeFilesLines
* Implement 6D parallelization with 1D and no tilingMarat Dukhan2020-12-051-0/+271
|
* Use cpuinfo_get_current_uarch_index_with_default for parallelization with uarchMarat Dukhan2020-05-261-8/+8
| | | | index
* 3D/4D/5D parallelization functions with 1D or no tilingMarat Dukhan2020-05-261-0/+667
|
* Fast path using atomic decrement instead of atomic compare-and-swapMarat Dukhan2020-05-021-37/+153
| | | | 50% higher throughput on x86 (disabled on other platforms)
* Replace atomic fetch_sub with decrement_fetch primitiveMarat Dukhan2020-04-101-13/+13
| | | | Decrement-fetch is a closer match to the primitive used in implementation
* Rewrite work spreading between threadsMarat Dukhan2020-04-101-27/+27
| | | | | | | - Avoid word x word -> doubleword multiplication - Avoid doubleword / word -> word division - Replace remaining division with multiplication via FXdiv - Improve portability through removal of platform-dependent multiply_divide function
* Windows implementation using EventsMarat Dukhan2020-04-071-3/+3
|
* Optimized pthreadpool_parallelize_* functionsMarat Dukhan2020-04-051-397/+717
| | | | | Eliminate function call and division per each processed item in the multi-threaded case
* Refactor pthreadpool implementationMarat Dukhan2020-04-011-0/+1010
Split implementation into two types of components: - Components dependent on threading API - Portable components