rocfft_plan_description_set_data_layout Interface Reference

rocfft_plan_description_set_data_layout Interface Reference#

HIPFORT API Reference: hipfort_rocfft::rocfft_plan_description_set_data_layout Interface Reference
hipfort_rocfft::rocfft_plan_description_set_data_layout Interface Reference

Set advanced data layout parameters on a plan description. More...

Public Member Functions

integer(kind(rocfft_status_success)) function rocfft_plan_description_set_data_layout_ (description, in_array_type, out_array_type, in_offsets, out_offsets, in_strides_size, in_strides, in_distance, out_strides_size, out_strides, out_distance)
 
integer(kind(rocfft_status_success)) function rocfft_plan_description_set_data_layout_rank_0 (description, in_array_type, out_array_type, in_offsets, out_offsets, in_strides_size, in_strides, in_distance, out_strides_size, out_strides, out_distance)
 
integer(kind(rocfft_status_success)) function rocfft_plan_description_set_data_layout_rank_1 (description, in_array_type, out_array_type, in_offsets, out_offsets, in_strides_size, in_strides, in_distance, out_strides_size, out_strides, out_distance)
 

Detailed Description

Set advanced data layout parameters on a plan description.

This API specifies advanced layout of input/output buffers for a plan description.

The following parameters are supported for inputs and outputs:

  • Array type (real, hermitian, or complex data, in either interleaved or planar format).
    • Real forward transforms require real input and hermitian output.
    • Real inverse transforms require hermitian input and real output.
    • Complex transforms require complex input and output.
    • Hermitian and complex data defaults to interleaved if a specific format is not specified.
  • Offset of first data element in the data buffer. Defaults to 0 if unspecified.
  • Stride between consecutive elements in each dimension. Defaults to contiguous data in all dimensions if unspecified.
  • Distance between consecutive batches. Defaults to contiguous batches if unspecified.

Not all combinations of array types are supported and error codes will be returned for unsupported cases.

Parameters
[in,out]descriptiondescription handle
[in]in_array_typearray type of input buffer
[in]out_array_typearray type of output buffer
[in]in_offsetsoffsets, in element units, to start of data in input buffer
[in]out_offsetsoffsets, in element units, to start of data in output buffer
[in]in_strides_sizesize of in_strides array (must be equal to transform dimensions)
[in]in_stridesarray of strides, in each dimension, of input buffer; if set to null ptr library chooses defaults
[in]in_distancedistance between start of each data instance in input buffer
[in]out_strides_sizesize of out_strides array (must be equal to transform dimensions)
[in]out_stridesarray of strides, in each dimension, of output buffer; if set to null ptr library chooses defaults
[in]out_distancedistance between start of each data instance in output buffer

Member Function/Subroutine Documentation

◆ rocfft_plan_description_set_data_layout_()

integer(kind(rocfft_status_success)) function hipfort_rocfft::rocfft_plan_description_set_data_layout::rocfft_plan_description_set_data_layout_ ( type(c_ptr), value  description,
integer(kind(rocfft_array_type_complex_interleaved)), value  in_array_type,
integer(kind(rocfft_array_type_complex_interleaved)), value  out_array_type,
type(c_ptr), value  in_offsets,
type(c_ptr), value  out_offsets,
integer(c_size_t), value  in_strides_size,
type(c_ptr), value  in_strides,
integer(c_size_t), value  in_distance,
integer(c_size_t), value  out_strides_size,
type(c_ptr), value  out_strides,
integer(c_size_t), value  out_distance 
)

◆ rocfft_plan_description_set_data_layout_rank_0()

integer(kind(rocfft_status_success)) function hipfort_rocfft::rocfft_plan_description_set_data_layout::rocfft_plan_description_set_data_layout_rank_0 ( type(c_ptr)  description,
integer(kind(rocfft_array_type_complex_interleaved))  in_array_type,
integer(kind(rocfft_array_type_complex_interleaved))  out_array_type,
integer(c_size_t), target  in_offsets,
integer(c_size_t), target  out_offsets,
integer(c_size_t)  in_strides_size,
integer(c_size_t), target  in_strides,
integer(c_size_t)  in_distance,
integer(c_size_t)  out_strides_size,
integer(c_size_t), target  out_strides,
integer(c_size_t)  out_distance 
)

◆ rocfft_plan_description_set_data_layout_rank_1()

integer(kind(rocfft_status_success)) function hipfort_rocfft::rocfft_plan_description_set_data_layout::rocfft_plan_description_set_data_layout_rank_1 ( type(c_ptr)  description,
integer(kind(rocfft_array_type_complex_interleaved))  in_array_type,
integer(kind(rocfft_array_type_complex_interleaved))  out_array_type,
integer(c_size_t), dimension(:), target  in_offsets,
integer(c_size_t), dimension(:), target  out_offsets,
integer(c_size_t)  in_strides_size,
integer(c_size_t), dimension(:), target  in_strides,
integer(c_size_t)  in_distance,
integer(c_size_t)  out_strides_size,
integer(c_size_t), dimension(:), target  out_strides,
integer(c_size_t)  out_distance 
)

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