Open ErickHernandezGutierrez opened 4 years ago
I merged my branch with the actual master. I disabled the use of textures to try first without textures.
The CUDA implementation works only for CylinderZeppelinBall model. I did not try with VolumeFraction. I tried with StickZeppelinBall but there was not improvement compared with CPU. In the meanwhile, I could add a flag to check the selected model and show a an error message when a model different than CylinderZeppelinBall is selected with CUDA. Then, we can add an efficient implementation for VolumeFraction.
How difficult would it be to enable CUDA parallelization also for other models? Als, and most importantly, how fast do you think it will be according to the current implementation?
It would not be so difficult to add support for VolumeFraction as it is simpler than CylinderZeppelinBall model. However, these weeks I'm a very busy with school and work until the first week of December. In the meanwhile, I could add a flag to check the selected model and make sure that CUDA is enabled only when CylinderZeppelinBall model is selected. Therefore, we would be able to submit something to ISMRM (without VolumeFraction experiments). I would prefer to wait until December to add the support for VolumeFraction properly. I think, for large datasets, we would be able to have similar speedups compared with the CylinderZeppelinBall model. But, for small datasets, the parallel CPU version is much faster because the transference of data between CPU and GPU is a bottleneck.
GPU version ready to merge with the latest version of COMMIT.