You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CuFFT supports callback functions (which must be device functions) so the user can hook into the loading and storing of data points to perform customization or other functionality. The cufftXtSetCallback() function is called to "register" user callback functions with CuFFT, but it is not exposed by CUDA.jl. It would be fairly easy to wrap this (and related) CuFFT function(s), but it's not clear how one could create the callback device functions and get the pointers to them. Maybe via CUDA.dynamic_cufunction?
Some examples of CuFFT callback function use cases:
Perform on-the-fly conversion from 8 bit integers to 32 bit floats (since CuFFT does not support 8 bit integer input data) thereby reducing the memory footprint when dealing with 8 bit input data.
Compute and store/integrate the abs2 (and, for spectral kurtosis, the abs2^2) of the CuFFT output samples as they are being stored, thereby reducing memory bandwidth (as compared to re-reading the CuFFT output buffer to compute them after the FFT is complete).
The text was updated successfully, but these errors were encountered:
CuFFT supports callback functions (which must be device functions) so the user can hook into the loading and storing of data points to perform customization or other functionality. The
cufftXtSetCallback()
function is called to "register" user callback functions with CuFFT, but it is not exposed by CUDA.jl. It would be fairly easy to wrap this (and related) CuFFT function(s), but it's not clear how one could create the callback device functions and get the pointers to them. Maybe viaCUDA.dynamic_cufunction
?Some examples of CuFFT callback function use cases:
abs2
(and, for spectral kurtosis, theabs2^2
) of the CuFFT output samples as they are being stored, thereby reducing memory bandwidth (as compared to re-reading the CuFFT output buffer to compute them after the FFT is complete).The text was updated successfully, but these errors were encountered: