hipfftxtsetjitcallback Interface Reference

hipfftxtsetjitcallback Interface Reference#

hipFORT API Reference: hipfort_hipfftxt::hipfftxtsetjitcallback Interface Reference
hipfort_hipfftxt::hipfftxtsetjitcallback Interface Reference

Set a JIT callback on a plan. More...

Public Member Functions

integer(c_int) function hipfftxtsetjitcallback_ (plan, symbol_name, bitcode_data, bitcode_len_bytes, cbtype, cbdata)
 

Detailed Description

Set a JIT callback on a plan.

Set either a load or store callback to run with a plan. The type of callback is specified with the cbtype parameter. The callback is provided as SPIR-V on AMD platforms and as LTO-IR fatbin on CUDA platforms.

Note: JIT callbacks cannot currently be used on multi-GPU transforms. This support will be added in a future release of hipFFT.

JIT callbacks can be cleared from the plan by passing nullptr for symbol_name and bitcode_data, and 0 for bitcode_len_bytes.

cbdata is an optional array of pointers of data that is passed to the callback function. As JIT callbacks are currently only supported for single-device transforms, this array must have one pointer element in it if it is specified. The pointer will be passed to the callback function's cbdata parameter when it is executed on that device.

If specified, the cbdata array must remain valid until either the plan is destroyed or callbacks are cleared from the plan.

This function must be called after the plan is allocated using hipfftCreate, but before the plan is initialized by any of the "MakePlan" functions. Therefore, API functions that combine creation and initialization (hipfftPlan1d, hipfftPlan2d, hipfftPlan3d, and hipfftPlanMany) cannot set a JIT callback.

Parameters
[in]plan- The FFT plan.
[in]symbol_name- Name of the symbol in the compiled bitcode.
[in]bitcode_data- Pointer to bitcode data.
[in]bitcode_len_bytes- Number of bytes in the bitcode data.
[in]cbtype- Type of callback function.
[in]cbdata- Array of callback function data pointers.

Member Function/Subroutine Documentation

◆ hipfftxtsetjitcallback_()

integer(c_int) function hipfort_hipfftxt::hipfftxtsetjitcallback::hipfftxtsetjitcallback_ ( type(c_ptr), value  plan,
type(c_ptr), value  symbol_name,
type(c_ptr), value  bitcode_data,
integer(c_size_t), value  bitcode_len_bytes,
integer(c_int), value  cbtype,
type(c_ptr)  cbdata 
)

The documentation for this interface was generated from the following file: