Acceleration of a Computational Simulation Application for Radiofrequency Ablation Procedure Using GPU - Miletto, Marcelo; Schepke, Claudio (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), 2018)
Computational simulation is a technique used in several research areas. In the medicine area, the RAFEM program (Radiofrequency Ablation Finite Element Method) was developed, which is used to simulate the RFA (RadioFrequency Ablation) process, that is a medical procedure to treat hepatic cancer. This program presents a high computational time to perform a simulation, taking up to 20 hours for a simulation while the RFA procedure itself lasts from four to six minutes. Some efforts have already been carried out to obtain a better performance for the program [2], however, none of them considered the use of GPUs for acceleration of the application, which is something quite studied for finite element method programs as reported in the work of [3]. The aim of this work is to propose a parallelization approach to explore ways to obtain better performance for the application through the use of GPUs using the CUDA parallel programming interface. Thus CUDA kernels were developed to parallelize the assembly step on the program, which is one of its most costly steps. In the assembly stage of the matrix of each element of the finite element mesh there are no race conditions, however, the same is not true for the grouping of these matrices into a single matrix, the global matrix. This matrix represents the problem as a system of linear equations that models the behavior of the characteristics to be simulated. To perform the assembly of this matrix the technique of graph colouring was used, thus avoiding the race conditions generated by neighboring elements that write in a same position of the matrix. The computational environment used for experiments consists of two Intel Xeon E5-2650 processors and two Nvidia GPUs: one Tesla C2075 and one Quadro M5000. This approach was applied in the parallel version of the application assembly step, improving performance up to 17 times against the sequential code.