Sitting back down after lunch, turns out all was missing was (void*) cast at the function call (shown below), so now it at least compiles fine.
cudaLaunchCooperativeKernel((void*)a_kernel<scalar_t>, gridDims,
                    blockDims, kernelArgs, s_mem, at::cuda::getCurrentCUDAStream());