Abstract

Graphics processing units (GPUs) and similar stream processors are increasingly used for general-purpose calculations. Their pipelined architecture can be exploited to accelerate various algorithms, sometimes with spectacular results. Monte Carlo codes, being computationally intensive, are likely to benefit from the development of stream processing platforms. We explore this potential here with a simple subroutine sometimes used in Monte Carlo techniques. More specifically, a ray tracing algorithm that computes the exact radiological path in a voxel grid was implemented in CPU and GPU versions, which then were compared in terms of execution speed. This benchmarking experiment was conducted under various conditions, in order to assess the memory and bandwidth limitations of each platform. The results show that the GPU provides a significant speed improvement factor over the CPU. For the specific hardware used in this work, namely a nVidia 7600 GS GPU, a speed increase factor up to 6 was achieved over an Xeon 2.4 GHz CPU. With the development of faster stream processors, this factor is expected to reach levels that can potentially change how Monte Carlo techniques are used, for example in radiation therapy planning. The ongoing development of simpler language extensions and programming interfaces also promises to increase the accessibility of these devices. Overall, stream processors are likely to play an increasingly larger role in scientific computing, and in particular in Monte Carlo techniques.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call