High-throughput, accurate Monte Carlo simulation on CPU hardware for PET applications. (7th September 2021) - Scheins, J J; Lenz, M; Pietrzyk, U; Shah, N J; Lerche, C
Abstract: Monte Carlo simulations (MCS) represent a fundamental approach to modelling the photon interactions in positron emission tomography (PET). A variety of PET-dedicated MCS tools are available to assist and improve PET imaging applications. Of these, GATE has evolved into one of the most popular software for PET MCS because of its accuracy and flexibility. However, simulations are extremely time-consuming. The use of graphics processing units (GPU) has been proposed as a solution to this, with reported acceleration factors about 400–800. These factors refer to GATE benchmarks performed on a single CPU core. Consequently, CPU-based MCS can also be easily accelerated by one order of magnitude or beyond when exploiting multi-threading on powerful CPUs. Thus, CPU-based implementations become competitive when further optimisations can be achieved. In this context, we have developed a novel, CPU-based software called the PET physics simulator (PPS), which combines several efficient methods to significantly boost the performance. PPS flexibly applies GEANT4 cross-sections as a pre-calculated database, thus obtaining results equivalent to GATE. This is demonstrated for an elaborated PET scanner with 3-layer block detectors. All code optimisations yield an acceleration factor of ≈20 (single core). Multi-threading on a high-end CPU workstation (96 cores) further accelerates the PPS by a factor of 80. This results in a total speed-up factor of ≈1600, which outperforms comparable GPU-based MCS by a factor of ≳2. Optionally, the proposed method of coincidence multiplexing can further enhance the throughput by an additional factor of ≈15. The combination of all optimisations corresponds to an acceleration factor of ≈24 000. In this way, the PPS can simulate complex PET detector systems with an effective throughput of 10 6 photon pairs in less than 10 milliseconds.