  We present our experience in porting optimized CUDA implementations to
oneAPI. We focus on the use case of numerical integration, particularly the
CUDA implementations of PAGANI and $m$-Cubes. We faced several challenges that
caused performance degradation in the oneAPI ports. These include differences
in utilized registers per thread, compiler optimizations, and mappings of CUDA
library calls to oneAPI equivalents. After addressing those challenges, we
tested both the PAGANI and m-Cubes integrators on numerous integrands of
various characteristics. To evaluate the quality of the ports, we collected
performance metrics of the CUDA and oneAPI implementations on the Nvidia V100
GPU. We found that the oneAPI ports often achieve comparable performance to the
CUDA versions, and that they are at most 10% slower.
