Name | Modified | Size | Downloads / 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.