Where can I find cuFFT Link-Time Optimized Kernels example which are not related to EA library

Hi,

Could you please guide me on where to find the cuFFT Link-Time Optimized Kernels example compiled from the book using CUDA 12.6.1? The current example on GitHub seems to be LTO EA, which isn’t compiled with the standard CUDA libraries.

During the compilation I get the following errors:

CMake Error at CMakeLists.txt:112 (target_link_libraries):
  Target "r2c_c2r_lto_callback_example" links to:

    CUDA::nvJitLink

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.



CMake Error at CMakeLists.txt:113 (target_link_libraries):
  Target "r2c_c2r_lto_nvrtc_callback_example" links to:

    CUDA::nvJitLink

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

There is any new update?

After review the FFT page: cuFFT | NVIDIA Developer
I noticed that this pack should be deliverable with the HPC package.
When I downloaded the HPC pack I still get the compilation errorabout function cufftXtSetJITCallback.

From the HPC documentation pack there as not any mention of cuFFT LTO EA Preview.
What should I do?

Hi,

the cufftXtSetJITCallback(...) function inclusion in CUDA Toolkit 12.4 (and NVHPC Toolkit) was a mistake and it has been removed in CUDA 12.4 Update 1. If you want to use cuFFT LTO Preview, you can download it here and install it according to the steps described in the official documentation (link).

Best regards
David

Hi @yehonatans68sw4,

LTO callbacks have been enabled in production cuFFT as of CUDA 12.6 Update 2. Please see the official cuFFT docs for details on usage. Now that LTO callbacks are part of mainline cuFFT, the separate LTO EA preview binary will be deprecated.

LTO callbacks in production have several advantages vs. those in LTO EA, namely improved performance and the ability to use arbitrary names for the callbacks.

There is currently one sample based on LTO callbacks in production cuFFT. There is also a version of the same sample for the LTO EA binary, which will be removed in the near future. The main differences have to do with small API changes.

Please let us know if you have any more questions.