top

The SciGPU::Legion Library

edit as needed

Introduction

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

Requirements

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

Installation

Download and extract the tarball. Then execute the following commands

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

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

Documentation

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)