Skip to content

Refactor using cudawrappers

Bram Veenboer requested to merge refactor-cudawrappers into master

The CU.* and CUFFFT.* helper files were used to make use of the CUDA (driver) and CUFFT API simpler. Since many of the ASTRON software used a similar approach, cudawrappers was created. In this MR, the aforementioned files have been removed, and its functionality is now replaced by using cudawrappers.

Many changes throughout the entire repository were needed to first get the code to compile again and second to work correctly. In the process, some of the code has been refactored (improved) as well.

A notable change is the way how CUDA kernels are compiled. This is now very similar to how it's done in COBALT, by means of the KernelFactory. By wrapping all CUDA kernels in their own class (rather than having them all as part of InstanceCUDA), it is now simpler to have unit tests. A few tests have been added. Adding more is beyond the scope of this MR.

Merge request reports