A drop-in replacement for nvcc. Take your existing CUDA Cpp programs, and recompile them to target your other hardware. CPU / OpenCL and more.
Read more about the gouda compiler on the web
While we'd like to eventually achieve CUDA like performance on other devices, we're currently focused on improving support for special CUDA C features and expanding backend support.
In its current form, it is primarily useful for experimenting with parallel programming on non-CUDA hardware.
Our initial releases are in binary form only. Visit the releases to find the compiler for your host system.
We also have an installer script which should detect your platform and install the latest release:
# Installer from https://github.org/goudalang/gouda_installer/
curl -fsSl https://gouda-lang.org/install.sh -O && bash ./install.shWe have several interesting demos in our demos directory. These include both standard C as well as parallel implementations which use Gouda. Most are visual/graphics demo, so you can get a feel for the speedup possible by using Gouda.
$ gouda --backend opencl matmul.cu -o matmul_cl
$ ./matmul_cl
# examine the generated source code, useful for integrating into larger projects.
$ cat tmp.cc- opencl
- serial (single-threaded, useful for unit testing or development)
Open an issue or contact us to sponsor a new backend.
ChatGPT was used for the logo, all other core code was hand written. LLMs may be used for some of the demo projects.
