|
Time to Develop: ~3 Weeks
Development Environment: Microsoft Visual Studio 2005 Technology:
C/C++, OpengGL, Win32 Threads
|
 |
The purpose of this assignment was to
take an application, I choose an older physics simulation “Globular
Dynamics: A Connected Particle System for Animating Viscous Fluids (1989)”
Gavin Miller and Andrew Pearce, and to optimise the simulation by using multithreading
and SIMD. In my assignment I implemented a thread group using WinThreads
and used MS SSE2 intrinsics, to reimplement vector operations. The results showed
that on dual core or quad core computers that the optimised version outperformed
the original version. The source code and documentation is provided below in addition
a selection of sample files have been converted to html. Although the assignment
was successful, the style and design of the code could be improved: using data-driven
approach to configure the simulation instead of macros, reducing the use of macros
to configure how the simulation is performed i.e. macros to toggle multithreaded.
Sample Source Code:
Executables -
Source Code - Documentation (user
manual pdf) (technical report
pdf) |