Download Latest Version ga_cbe_source_eclipse.tar.gz (949.0 kB)
Email in envelope

Get an email when there's a new version of Genetic Algorithms for IBM CBE processor

Home / OldFiles
Name Modified Size InfoDownloads / Week
Parent folder
GA-CBE-ReadMe.txt 2007-10-22 4.5 kB
Totals: 1 Item   4.5 kB 0
GA-CBE Project v2.0.0 (for use with the IBM Cell BE SDK v2.0)

Table of Contents
-----------------
1.0 Project Description
2.0 Project Motivation
3.0 Project Availability
4.0 Project Developers
5.0 Files in the Project
6.0 Installation Instructions
7.0 Questions?
8.0 License


1.0 Project Description
This project aims to create a reusable and extensible genetic algorithms (GA) 
library for the STI Cell BE processor.


2.0 Project Motivation
The intrinsically parallel Cell BE architecture offers 200GFLOPS per 3.2GHz
processor by combining a general purpose PowerPC processor (PPE) with 8
synergistic processing elements (SPEs). Originally conceived for the 
high-throughput streaming multimedia demands of advanced home entertainment
systems, the Cell BE is also highly suitable for scientific computations 
achieving impressive speedup over contemporary processors on several benchmarks. 
The GA-CELL (or GA-CBE) project which aims to develop a reusable genetic
algorithms (GA) library for the Cell BE processor. GA are widely used to 
optimize functions where gradient decent methods are not suitable. Concepts 
from natural evolution are used to guide a stochastic search of the solution 
space. Since each iteration of the algorithm requires the evaluation of several 
candidate solutions in parallel, GA are highly suitable for implementation on 
the Cell BE. The majority of the CELL-GA library operates on the PPE where 
generations of candidate solutions are created and evolved, while the far more 
computationally expensive job of evaluating candidate solutions is left to a 
user-defined application-specific fitness function that runs solely on the 
SPEs. As part of the GA-CELL project, a sample fitness function is provided 
that optimizes a linear discriminant over a multidimensional data set. 
Evaluation of this sample project using a dual-Cell blade server shows 
excellent performance that scales well with the number of available SPEs.


3.0 Project Availability
GA-CELL is an open source project available via SourceForge 
(https://sourceforge.net/projects/ga-cbe/).


4.0 Project Developers
This project was initiated by a research group at Carleton University headed by 
Prof. James Green in January of 2007. Initial development was conducted by 
William (Che) Knisely and Arman Aghaei. Interested developers are welcome to 
participate in this project.


5.0 Files in the Project
This project consists of this ReadMe.txt file, a binary ga_ppu (executable on a 
Cell-based system or simulator), and a zgipped tar ball (ga_cbe_source_eclipse.tar.gz) 
of an Eclipse workspace containing 4 projects: ga_ppu, ga_spu, ga, and lda.

Projects in the source code:
	ga: PPU-side library implementing GA.
	genetic_algorithm/ga_ppu: PPU-side application specific program which uses 
		the GA library to optimize a linear discriminant over Fisher's Iris Dataset.
	genetic_algorithm/ga_spu: SPU-side library implementing GA.
	lda: SPU-side application specific implementation of 'fitness_function' (called 
		by ga_spu) which calculates the classification score of a given linear 
		discriminant over Fisher's Iris Dataset. 
	

6.0 Installation Instructions

6.1 Binary-only: Simply download 'ga_ppu' and run it on a Cell BE system or 
simulator. This will report the best solution (i.e. parameters of the best 
linear discriminant) from each generation of GA. Note that the executable 
does not perform a useful job on its own, it is meant to demonstrate how to 
use the GA-CBE library for your own application. It is strongly suggested 
that you download the source code and compile it yourself (see 6.2 below).

6.2 Compile from source: Requires v2.0 of the IBM Cell SDK and the Cell IDE
for Eclipse 3.2 (or later). Download the source gzipped tar ball and 
unzip/expand into a workspace. Open Eclipse 3.2 (with Cell IDE installed) 
and 'switch workspace' to the new workspace. The ga_ppu project will attempt 
to build automatically but will fail - don't panic. Manually build the 
projects in the following order: a) lda, b) ga_spu, c) ga, d) ga_ppu. You 
may need to add a new Include directory to find <malloc_align.h>. 


7.0 Questions?
Feel free to contact James Green at jrgreen@sce.carleton.ca with comments 
or questions.

8.0 License
This project is open source, licensed under the same IBM Public License 
that the Cell BE SDK is released under.
Source: GA-CBE-ReadMe.txt, updated 2007-10-22