MOQUI: an open-source GPU-based Monte Carlo code for proton dose calculation with efficient data structure

Phys Med Biol. 2022 Aug 30;67(17):10.1088/1361-6560/ac8716. doi: 10.1088/1361-6560/ac8716.

Abstract

Objective.Monte Carlo (MC) codes are increasingly used for accurate radiotherapy dose calculation. In proton therapy, the accuracy of the dose calculation algorithm is expected to have a more significant impact than in photon therapy due to the depth-dose characteristics of proton beams. However, MC simulations come at a considerable computational cost to achieve statistically sufficient accuracy. There have been efforts to improve computational efficiency while maintaining sufficient accuracy. Among those, parallelizing particle transportation using graphic processing units (GPU) achieved significant improvements. Contrary to the central processing unit, a GPU has limited memory capacity and is not expandable. It is therefore challenging to score quantities with large dimensions requiring extensive memory. The objective of this study is to develop an open-source GPU-based MC package capable of scoring those quantities.Approach.We employed a hash-table, one of the key-value pair data structures, to efficiently utilize the limited memory of the GPU and score the quantities requiring a large amount of memory. With the hash table, only voxels interacting with particles will occupy memory, and we can search the data efficiently to determine their address. The hash-table was integrated with a novel GPU-based MC code, moqui.Main results.The developed code was validated against an MC code widely used in proton therapy, TOPAS, with homogeneous and heterogeneous phantoms. We also compared the dose calculation results of clinical treatment plans. The developed code agreed with TOPAS within 2%, except for the fall-off and regions, and the gamma pass rates of the results were >99% for all cases with a 2 mm/2% criteria.Significance.We can score dose-influence matrix and dose-rate on a GPU for a 3-field H&N case with 10 GB of memory using moqui, which would require more than 100 GB of memory with the conventionally used array data structure.

Keywords: Monte Carlo; graphic processing unit; proton therapy.

Publication types

  • Research Support, N.I.H., Extramural

MeSH terms

  • Algorithms
  • Monte Carlo Method
  • Phantoms, Imaging
  • Proton Therapy* / methods
  • Protons
  • Radiotherapy Dosage
  • Radiotherapy Planning, Computer-Assisted / methods

Substances

  • Protons