nufhe icon indicating copy to clipboard operation
nufhe copied to clipboard

[Feature Request] Support for CPU/non-GPU systems?

Open Perzan opened this issue 3 years ago • 1 comments

This would only be for learning or developing with it.

Perzan avatar Feb 08 '21 20:02 Perzan

At the moment it should work on Intel videocards. Possibly, on any other OpenCL platform that supports kernels with shared memory on CPUs. I only have access to the Apple implementation, and, unfortunately, it doesn't, but the driver for AMD CPUs might.

OpenCL implementations which don't allow shared memory in CPU kernels can be theoretically supported, by making special versions of kernels that don't use shared memory (and don't worry about coalescing, execution divergence, and other GPU peculiarities), but that would involve a substantial amount of work. Performance is the main unknown here, I don't have a lot of experience with optimizing CPU-based OpenCL code.

Alternatively one could make a pure-CPU version, I suppose, with cffi and fftw - numpy would have too much overhead.

fjarri avatar Feb 12 '21 07:02 fjarri