parlaylib
parlaylib copied to clipboard
A Toolkit for Programming Parallel Algorithms on Shared-Memory Multicore Machines
Merging in extra examples from v2.1
A simple POC can be only creating a sequence of elements, e.g.: `int n = 100;` `sequence seq(n);` I used Valgrind to check the memory usage and it reported the...
Some of the benchmarks when run on linux get significant performance improvement by setting /sys/kernel/mm/transparent_hugepage/enabled to "always" instead of the default "madvise". In particular bench_histogram improves by almost a factor...
Attempt to find GTest locally before downloading https://github.com/cmuparlay/parlaylib/issues/44
I took the code from your hashtable tests and added a final call to count(). Without that last line it compiles without any issue, but including `table.count() ` triggers this...
`` was missing a case to handle Cygwin (which doesn't identify itself as either Windows or Linux), and was incorrectly defining a function with a name clash against a Clang...
We don't currently have any dependencies, and plan to keep it that way, but this is a requirement of [FLOSS Best Practices Criteria](https://www.bestpractices.dev/en/criteria/0).
On https://cmuparlay.github.io/parlaylib/other/scheduler.html in the links on the top of the page to the different sections Binary forking (parallel_do) Parallel-for loops (parallel_for) Blocked-for loops (blocked_for) all don't work, while the rest...
### group_by_key The performance of `group_by_key` sometimes suffers on multi-socket machines, despite scaling fine on a single socket. Its implementation could possibly be improved. `group_by_key_sorted` does not seem to have...