To simplify GPGPU programming, high-level languages appeared in 2004. Their goal is to hide graphics-related details from developers, and they follow a stream computing or data-parallel programming paradigm. This pages provides an overview and links to more resources.
Jump to
Brook for GPUs
Brook for GPUs, also known as BrookGPU, was developed at Stanford University. It is a compiler and runtime implementation of the Brook stream program language for graphics hardware. BrookGPU is implemented as an extension to the C programming language, and compiles to various backends. It supports NVIDIA and ATI GPUs on Windows and Linux.
- BrookGPU project page at Stanford University
- Siggraph 2004 paper
- SourceForge Project and Downloads
- BrookGPU discussion forums on GPGPU.ORG
BrookGPU is not supported anymore by the original developers. Instead, AMD has used BrookGPU as the basis for Brook+, the compiler and data-parallel language included in AMD Stream.
Sh – GPU Metaprogramming
Sh, a metaprogramming language for programmable GPUs, was developed at the University of Waterloo. It is implemented as a library on top of C++, and supports NVIDIA and ATI GPUs on Windows and Linux.
- Sh web page
- Graphics Hardware 2002 paper
- Siggraph 2004 paper
- Documentation and tutorials
- Sh discussion forums on GPGPU.ORG
Sh is no longer actively supported by its developers. Instead, it has been commercialized into RapidMind Inc., and significantly expanded to support not only GPUs, but also the Cell processor and multicore CPUs.