GPU eMC Second Check

Authors
Joe Reese Haywood

Affiliation :
Mercy Health Muskegon

Pictures
Baby Back ribs calculated in 6.2 seconds with 92 million particles.Current Software InterfaceEar calculated in 14.5 seconds with 170 million particles.Half Lucy phantom on plastic water slab calculated in 7.5 seconds with 92 million particles.Nose calculated in 8.4 seconds with 170 million particles.

Version : 1.00

0 like
You must be registered to like this project !

0 comment
You must be registered to add comment

412 views

download all files

Download files
FilenameDescriptionLast updatedSize (kb)
CL-eMC.zipPyOpenCL version of the code along with sample data set.26/08/20165649
CU-eMC.tar.gzCUDA version of the code along with sample data set.26/08/20165548
Description
Paramatrized electron Monte Carlo second check accelerated using the GPU. The interface is written in Python using Matplotlib and built in plotting widgets. The acceleration is done by calling OpenCL kernels through PyOpenCL (Windows and Linux) or CUDA kernels (Linux) through interface functions written in SciPy Weave. Pydicom is used for reading CT, RT, RS, and RD files from the treatment planning system. Currently only tests for functionality and agreement with Eclipse have been done. ToDo: design and implement a "modern" interface, implement hashing functions and physics only interface to prevent accidentally changing beam parameters, implement checksum testing to notify users if any files have changed since last use and have physics sign off to continue, and create "easy install" for package and dependencies.
Software and Hardware requirements

Hardware:

For CL-eMC-Any computer that has has OpenCL capabilities. A GPU is recommended. The current code has been tested on NVIDIA 950M, Intel 530, and AMD 8790M laptop GPUs.

For CU-eMC-Any computer with NVIDIA GPU and ability to compile and link CUDA modules to Python. Tested only in Ubuntu Linux (12.04, 14.04, and 16.04) on NVIDIA Geforce GTX 780Ti and Geforce GTX 950M. 

Software:

CL-eMC- Windows computers: Intall Anaconda Python 2 and add pydicom (0.9.9) via pip. PyOpenCL binaries are from Christoph Golke. I followed the tutorial here.

Linux computers will be able to use a builtin package manager to get Python, pdicom, and PyOpenCL. I use Ubuntu 16.04 which has all of the packages prebuilt.

CU-eMC Additionally needs the GNU Scientific Library (gsl) to compile and link to the main calculation program.

Additional comments

The code should work out of the box. There limited comments throughout the code that give hints and instructions. A full tutorial is in the works and will be added here when available.

License

GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Full text at https://www.gnu.org/licenses/gpl-3.0.en.html

Comments