Compiles kernel and caches it. Returns compiled kernel.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MPI_Comm), | intent(in) | :: | comm |
MPI Communicator |
||
integer(kind=int32), | intent(in) | :: | dims(:) |
Local dimensions to process |
||
type(dtfft_transpose_t), | intent(in) | :: | transpose_type |
Type of transposition to perform |
||
type(kernel_type_t), | intent(in) | :: | kernel_type |
Type of kernel to build |
||
type(dtfft_effort_t), | intent(in) | :: | effort |
How thoroughly |
||
integer(kind=int64), | intent(in) | :: | base_storage |
Number of bytes needed to store single element |
||
type(device_props), | intent(in) | :: | props |
GPU architecture properties |
||
type(c_ptr), | intent(in) | :: | ptrs(3) |
Array of device pointers required by certain kernels |
||
type(dim3), | intent(out) | :: | blocks |
Selected grid of blocks |
||
type(dim3), | intent(out) | :: | threads |
Selected thread configuration |
||
type(CUfunction), | intent(out) | :: | kernel |
Compiled kernel to return |
||
logical, | intent(in), | optional | :: | force_effort |
Should effort be forced or not |