Programs in Physics & Physical Chemistry
|[Licence| Download | New Version Template] aeeb_v1_0.tar.gz(2186 Kbytes)|
|Manuscript Title: Accelerating Monte Carlo Simulations with an NVIDIA® Graphics Processor|
|Authors: Paul Martinsen, Johannes Blaschke, Rainer Künnemeyer, Robert Jordan|
|Program title: Phoogle-C/Phoogle-G|
|Catalogue identifier: AEEB_v1_0|
Distribution format: tar.gz
|Journal reference: Comput. Phys. Commun. 180(2009)1983|
|Programming language: C++.|
|Computer: Designed for Intel PCs. Phoogle-G requires a NVIDIA graphics card with support for CUDA 1.1.|
|Operating system: Windows XP.|
|Has the code been vectorised or parallelized?: Phoogle-G is written for SIMD architectures.|
|Keywords: Monte Carlo photon transport, Scattering media, General purpose graphics card computing, parallel computing.|
|PACS: 87.10.Rt, 33.80.Gj.|
External routines: Charles Karney Random number library. Microsoft Foundation Class library. NVIDA CUDA library 
Nature of problem:
The Monte Carlo technique is an effective algorithm for exploring the propagation of light in turbid media. However, accurate results require tracing the path of many photons within the media. The independence of photons naturally lends the Monte Carlo technique to implementation on parallel architectures. Generally, parallel computing can be expensive, but recent advances in consumer grade graphics cards have opened the possibility of high-performance desktop parallel-computing.
In this pair of programmes we have implemented the Monte Carlo algorithm described by Prahl et al.  for photon transport in infinite scattering media to compare the performance of two readily accessible architectures: a standard desktop PC and a consumer grade graphics card from NVIDIA.
The graphics card implementation uses single precision floating point numbers for all calculations. Only photon transport from an isotropic point-source is supported. The graphics-card version has no user interface. The simulation parameters must be set in the source code. The desktop version has a simple user interface; however some properties can only be accessed through an ActiveX client (such as Matlab).
The random number library used has a LGPL (http://www.gnu.org/copyleft/lesser.html) licence.
Runtime can range from minutes to months depending on the number of photons simulated and the optical properties of the medium.
|||S. Prahl, M. Keijzer, Sl Jacques, A. Welch, SPIE Institute Series 5 (1989) 102|
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|