Technology description
The technology chosen as a subject of study for this coursework is the use of GPUs to create
a particle system with a large number of particles, without exchanging data with the CPU. All the
processing is expected to run on the GPU(s). A particle system is a technique in game physics and
computer graphics that uses a large number of not well defined elements to represent a fuzzy
element. An example of a simple particle system is shown below:
I want to learn how to perform general computing on the GPU using the OpenCL API
I want to create a simple particle system that runs completely on the GPU, without
bottlenecking on communications with the processor
To learn the basics on how to perform general computing on the GPU, I will start by
implementing a simple array sum using OpenCL, expecting that it runs faster than on the
CPU and with the same result.
To prepare the process of creating the particle system, I will implement a simple
function that updates the position of a particle in an array of particles (will use data
structures available on the web to save time). The positions should be updated once per
time tick and behave according to the specified movement parameters.
Outline Plan
Week 7 Learn how to use the selected testing harness, install all libraries and tools that will
be used in the coursework, set git repository and preparing evidence plan template (3 hours)
Week 8 Gathering knowledge and implementing the first and third specific technical
scenarios (2 hours)
Week 9 Gathering knowledge and implementing the second technical scenario (2 hours)
Week 10 Implementing the last technical scenario (3 hours)
Week 11 Gather and refine evidence, and reflect on the overall experience of the usage of
spikes, generating a written report.(3 hours)
Week 12 Week left as extra time for slippage
Evidence Plan
A git repository will be created for this project, separating each technical scenario in a
folder. The commit messages will be the main evidence, as well as the resulting code of each
scenario and screen shots of the scenarios that involve rendering. A final report will be made, with a
small dissertation over my experience and showing my impressions on it and containing the
evidences subjectively chosen as the most significant.