Home
Introduction
Forums
Getting Started
Language
Architecture
BRCC
BRT
BRT C++
Current Issues
Research
Sponsors
|
As the programmability and performance of modern GPUs continues to
increase, many researchers are looking to graphics hardware to solve
problems previously performed on general purpose CPUs. In many
cases, performing general purpose computation on graphics hardware
can provide a significant advantage over implementations on
traditional CPUs. However, if GPUs are to become a powerful
processing resource, it is important to establish the correct
abstraction of the hardware; this will encourage efficient
application design as well as an optimizable interface for hardware
designers.
Brook is an extension of standard ANSI C and is designed to
incorporate the ideas of data parallel computing and arithmetic
intensity into a familiar and efficient language. The general
computational model, referred to as streaming, provides two
main benefits over traditional conventional languages:
-
Data Parallelism: Allows the programmer to specify
how to perform the same operations in parallel on different data.
- Arithmetic Intensity: Encourages programmers to
specify operations on data which minimize global communication and
maximize localized computation.
More about Brook can be found at the
Merrimac web site which
contains a complete specifications for the language.
|