Differences between revisions 4 and 5
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
[[attachment:legion.tgz|Download the SciGPU::Legion library]] [[attachment:scigpu-legion.tgz|Download the SciGPU::Legion library]]


The SciGPU::Legion Library

edit as needed


The SciGPU::Legion library provides a means of processing many loosely coupled heterogeneous Tasks on heterogeneous execution hardware. Examples are included are CPU cores and CUDA GPUs. However, the library is more general than just these two options. A Legion consists of a collection of execution resources (called Maniples) which process Tasks submitted by the user. The user can create new types of Maniple, which can select particular Tasks to perform. For example, a Maniple performing matrix multiplications on a CUDA GPU might reserve memory on that GPU to hold the matrices. It could then scan the list of pending Tasks to select the multiplications which fit inside its current reservation (and if it finds none, it could then find the next available multiplication task, and increase its memory pool to suit).

Obtaining the Library

Download the SciGPU::Legion library


SciGPU::Legion is built on top of boost::thread, and uses CMake as its build system.


Download and extract the tarball. Then execute the following commands

cd scigpu-legion
mkdir build
cd build
cmake ../

These will build the library and a set of example programs.


The library is documented using Doxygen.

cd scigpu-legion
cd doc
doxygen scigpu-legion.doxy

An 'html' directory will be created. Open up the 'index.html' file, to see the list of examples.

LegionLibrary (last edited 2010-05-27 12:01:28 by RichardEdgar)