Home
Introduction
Forums
Getting Started
Language
Architecture
BRCC
BRT
BRT C++
Current Issues
Research
Sponsors
Hardware Prerequisites
-
The DirectX 9 backend requires a recent video card. ATI 9700
(R300) and above and Nvidia 5200 (NV3X) and above should work.
More recent boards supporting Pixel Shader 3.0 or better will be
able to use looping and branching in kernels and offer the best
performance. The most important requirement is support for floating
point render targets. Compiling for this backend requires the
DirectX SDK to be installed. This is the most stable and tested
backend currently.
-
The OpenGL backend is supported on Linux and Windows, but it uses
the older pbuffer interface instead of FBO/PBO. Nvidia boards are
currenly better supported, and will use Nvidia specific assembly
(fp30/fp40) when possible. ATI boards are currenlty limited to
ARB_fragment_program assembly, and like fp30, will not allow
looping and branching in kernels that can't be statically unrolled.
-
The CPU backend should run on any platform (even non-PC) where the
build environment works. The CPU backend is not as thoroughly
tested as the above runtimes.
-
The CTM backend is new and is in an alpha state and
currently only fully supported under Windows. To use it, you will
require the CTM and AMUCOMP SDKs from AMD, and you need to have
built the amu libraries supplied as samples in the SDKs.
Software Prerequisites
The compiler and CPU runtime should build on any host with
the standard GNU toolchain:
- make
- g++ & gcc
- flex
- bison
- bin-utils
Alternatively, running with the GPU runtimes requires the following:
BRCC will look for cgc and fxc (the HLSL compiler from the DirectX 9
SDK) in the path. Following the default installations, cgc.exe is in
C:\Program Files\NVIDIA Corporation\Cg\bin and fxc.exe is in
C:\DX90SDK\Utilities.
Additionally, compiling the DirectX runtime requires your INCLUDE and
LIB paths include the DirectX 9 directories. With the default
installations, these are C:\DX90SDK\Include and C:\DX90SDK\Lib.
Compiling Brook GPU
Everything, including all the test programs and sample applications,
can be built by typing:
make
at the top level. You can run make from within any subdirectory to build
just that directory.
Building And Running Brook Programs
There are some toy programs used for testing the compiler and
runtime in prog/tests/ and more interesting programs in prog/apps/
that can be used as examples. Basically, BRCC converts .br files
into .cpp files which are then compiled and linked against the
runtime brook.lib. At runtime, brook.lib selects the backend based
on the environment variable BRT_RUNTIME. The CPU backend is chosen
by default and the values "dx9", "ogl", and "ctm" select their
respective backends.