9 ms·
Does this solve some of the core problems with GPU programming, such the difficulty of writing reusable code without significant performance overhead (via neste
by Athas 9y ago
Does this solve some of the core problems with GPU programming, such the difficulty of writing reusable code without significant performance overhead (via nested parallelism or fusion), or the need to follow some potentially awkward rules for performance reasons (struct-of-arrays and coalesced memory access patterns?).
I mean, it is surely nice to easily launch a bunch of threads within a single-source program, but there are already plenty of C++ libraries that let you do this, and it has not really led to an explosion of making efficient GPU programming accessible to the layman.
- rafinha 9y agoFor "easy gpu programming" look for tensorflow or any of these "run on CPU and GPU" libraries. For anything else there's no magic, need to write kernel code and take care of memory layout.
- arianvanp 9y agoIf you want composable kernels in a high level language, I can really recommend http://hackage.haskell.org/package/accelerate http://hackage.haskell.org/package/accelerate with the CUDA backend: https://hackage.haskell.org/package/accelerate-llvm-ptx https://hackage.haskell.org/package/accelerate-llvm-ptx See http://chimera.labs.oreilly.com/books/1230000000929/ch06.html http://chimera.labs.oreilly.com/books/1230000000929/ch06.htm... for a great introduction
- deleted 9y ago[deleted]
- FRex 9y agoI have not tried it myself and it's limited in scope but the I ran across this language: http://halide-lang.org/ http://halide-lang.org/