accelerate-llvm
raymarcher-benchmarks
Our great sponsors
accelerate-llvm | raymarcher-benchmarks | |
---|---|---|
2 | 1 | |
151 | 0 | |
0.7% | - | |
6.0 | 10.0 | |
5 months ago | almost 4 years ago | |
Haskell | WebAssembly | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
accelerate-llvm
-
How do I get my program to use 100% of the GPU?
So, I've been working on using this library: https://github.com/AccelerateHS/accelerate-llvm to do GPU programming, and it's really fun, but the problem is that for some reason my machine won't use 100% of the GPU cores (according to nvtop) and I don't know enough about how GPUs work just yet to know what I'm doing wrong.
-
Next Decade in Languages: User Code on the GPU
I’m personally a big fan of http://www.acceleratehs.org / https://github.com/AccelerateHS/accelerate-llvm
raymarcher-benchmarks
-
Next Decade in Languages: User Code on the GPU
Something along similar lines but with a much lower barrier to entry that might be worth trying first is doing something similar to ISPC: essentially forcing vectorization of the whole program. This is the exact same thing that running on the GPU does, but on the CPU, so it doesn't require generating a whole new target language and inserting all the Vulcan/CUDA set up code. It's not as fast as the GPU, but it's a lot faster than regular CPU loops: in a benchmark from a couple years ago, I found that single-threaded ISPC beat single-threaded non-ISPC by a factor of about 6.5x, and multithreaded ISPC was only about 3x slower than GPU. For some reason multithreaded ISPC is only slightly more than 2x faster than normal multithreaded, but still a significant improvement.
What are some alternatives?
accelerate-fft - FFT library for Haskell based on the embedded array language Accelerate
accelerate - Embedded language for high-performance array computations
hyper-haskell-server - The strongly hyped Haskell interpreter.
dhall - Maintainable configuration files
uu-cco - Tools for the CCO (Compiler Construction) course at the UU (Utrecht University)
brainfuck - This is an interpreter of the brainf*ck language, written in the pure, lazy, functional language Haskell.
accelerate-bignum - Fixed-length large integer arithmetic for Accelerate
accelerate-cuda - DEPRECATED: Accelerate backend for NVIDIA GPUs
accelerate-io - Read and write Accelerate arrays in various formats
Elm - Compiler for Elm, a functional language for reliable webapps.
accelerate-examples - Examples for the Accelerate language
lazyboy - An EDSL implemented in Haskell for programming the Nintendo Game Boy.