CSSG Home CSSG Home

Building Simulation Systems




Our simulations and visualisation work depends heavily upon having fast and efficient computers. Some of our recent experiiments have used computer systems based upon hybrids of multi-core CPU processors with auxiliary GPUs.

A recent preprint of a research article to appear in the Journal: Concurrency and Computation: Practice and Experience is available as Technical Note CSTN-065. This note describes work using GPUs for scientific simulations including complex network problems and field equation calculations.


A photo gallery gives an illustrated history of building a general purpose GPU computer system, suitable for running and visualising scientific simulations.

Systems like these can be programmed using high-level languages such as NVIDIA's CUDA system and the forthcoming Open Compute Language (OpenCL).

The system shown was a prototype using an NVIDIA GeForce 260 GPU. We have extende d this using a point-to-point connection technology known as SLI that allows several 260s to communicate directly without going via the CPU and the normal bus system. We have built another system based on a GeForce 285 GPU - which combines what are effectively two 260 cls s GPUs in one case.

At present we are using explicit multi threading code so one CPU host program can access these multiple GPUs. Each GPU of course handles many thread blocks internally so we achieve fine grained data parallelism within a coarser grained multi-device parallelism.

See technical notes:

  • CSTN-065 on scientific simulations on GPUs and CUDA
  • CSTN-070 on multi-threading on modern multi-core CPUs
  • CSTN-089 on graph component labelling on GPUs and CUDA


More traditional fast computing solutions for scientific computing come from use of computer clusters. These can be integrated blade systems or more ad hoc networks of workstations. Massey's Centre for Parallel Computing (CPC) operates a number of such research parallel cluster computer systems.


Yet another way to build a cluster (Autumn 2009) - this is the beginnings of our four-cluster of Playstation 3 computers. To counter the Roman themed naming scheme for our GPU cluster, these Playstations are "Hannibal" and "Hasdrubal" - this cluster having a Carthaginian name theme. The 80GB "wide" style PS3s can run Linux as well as the STI Cell Broadband Engine Development kit software. The CellBE chip has a powerpc-based main core or processing element (PPE) as well as a number of auxiliary cores (SPE) or elements that can run extra computations. Six SPE elements are available to the programmer from Linux (the other two do operating systems and graphical things) and so a cluster of four units gives quite an interesting mix of cores to play around with. Our PS3s in the "Carthage Cluster" are connected with a 100GBit ethernet switch.


[ Complex Systems and Simulations Group (CSSG) | Massey University | IIMS ]