Skip to content

Reorganize CPU kernels

Bram Veenboer requested to merge update-cpu-compilation into master

The CPU kernels used to be compiled into shared libraries at runtime. The runtime compilation has been removed a long time ago, but the loading of the shared libraries has remained. This is also removed, resulting in simpler code. There were a number of inconsistencies between argument lists of the Reference and Optimized kernels (e.g. const or idg::float2/std::complex<float>). These things are now fixed such that the InstanceCPU now serves as an abstract interface for ReferenceKernels and OptimizedKernels. In this process, some other miscellaneous cleanup tasks are also performed.

The integration test tIDGCalDPStep fails with a segmentation fault in the CI, because DP3 still links to an old IDG version that handles enabling/disabling W-Tiling differently. Running the test manually works correctly and we therefore proceed with merging this MR.

Edited by Bram Veenboer

Merge request reports