Abstract
P1323
Introduction: We aim to develop a versatile and high-performance Geant4 simulation application for complex nuclear medicine imaging scanners. The main objectives are to i) create simulation models for complex structures via computer-aided design (CAD) tools and ii) take advantage of both CPU and GPU to accelerate the simulation. This application combines the newly developed open-source GDML package (FreeCAD/GDML) and the new version of open-source Opticks code in order to achieve our objectives.
Use of common simulation applications for PET scanners, such as GATE, is arduous when dealing with complex or unconventional geometry and detector structures, especially for new users of nuclear Monte Carlo codes. The computational cost of the simulation can be intensive depending upon the size and the complexity of a scanner and to the best of our knowledge, applications that use the computational powers of both CPU and GPU to lower the cost of large simulations are not currently available.
Methods: Our simulation application combines i) the newly developed open-source GDML package in FreeCAD to generate the input structure to Geant4 simulation, ii) the new version of Opticks (G4CX) that is the accelerated optical photon simulation package using NVIDIA OptiX, and iii) a wrapper to parallelize the Monte Carlo simulation based on the number of events. In our application, the PET structure, for example, is built using the GDML package of FreeCAD v0.20 that has recently been developed for optical simulation and includes optical and surface properties, sensitive detectors, and border assignments. This enables us to create complex structures that are compatible with the Geant4 protocols. Our application reads the structure and all the material and optical properties from a GDML file. Also, we created multiple Macro files to transform the structure to a GDML format that is compatible with the Opticks structural translation on GPU.
In the main code, the structure is first translated and loaded into the GPU for the entirety of the simulation process. Then, the photon generator and optical simulator of Opticks are substituted in place of those of Geant4. In each event, the simulated data is transferred from the GPU to the host (CPU) and finally, the results are written to an output file.
Our parallelizing wrapper manages and coordinates the simulation process. For a given number of CPUs, the simulation is run by dividing it into an equal number of events for each branch with each parallel branch employing one independent CPU thread and shared resources of a GPU card.
Results: To test the computational efficiency, we created a single, 2x2x15 cm3 LYSO:Ce crystal attached to a 2x2x2 cm3 SiPM and simulated incoming 511 KeV gamma photons from a source 20 cm distant from the crystal. Simulations were done on Linux Ubuntu v20.04 with an Intel Xeon E5-2687W 3.1GHz CPU, 128GB RAM, and an NVIDIA TITAN RTX GPU card. A 15-fold decrease in computational time was observed between the GPU-enabled simulations and the single thread CPU simulation. We also examined combined GPU-enabled simulation using multithreaded CPUs where we observed a linear decrease in computational time in terms of number of parallel threads. In this case, we were able to run the simulation of 1 million events on the set of 20 parallel simulations about 300 times faster than a single thread CPU simulation.
Conclusions: We presented a high-performance Geant4 application that is suitable for imaging scanners with complex structures. The application utilizes the parallelization on both CPU and GPU to accelerate the Monte Carlo simulation and reduce the cost of the optical simulation. We showed that for a simple structure, the computational cost is significantly decreased. We plan to extend the current version to include other modalities such as Compton camera and examine the performance of more complex structures.
This work was supported in part by the NIH under Grant No. R01HL145160.