nvRTC Compiled kernel class
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | private | :: | is_created | = | .false. |
Kernel is created flag. |
|
logical, | private | :: | is_dummy | = | .false. |
If kernel should do anything or not. |
|
type(CUfunction), | private | :: | cuda_kernel |
Pointer to CUDA kernel. |
|||
type(dim3), | private | :: | num_blocks |
Grid of blocks. |
|||
type(dim3), | private | :: | block_size |
Thread block. |
|||
integer(kind=int8), | private | :: | kernel_type |
Type of kernel to execute. |
|||
type(kernelArgs), | private | :: | args |
Kernel arguments. |
|||
integer(kind=int32), | private, | allocatable | :: | pointers(:,:) |
Optional pointers that hold info about counts and displacements
in |
Creates kernel
Creates kernel
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nvrtc_kernel), | intent(inout) | :: | self |
nvRTC Compiled kernel class |
||
type(MPI_Comm), | intent(in) | :: | comm |
MPI Communicator |
||
integer(kind=int32), | intent(in), | target | :: | dims(0:) |
Global dimensions to process |
|
integer(kind=int64), | intent(in) | :: | base_storage |
Number of bytes needed to store single element |
||
type(dtfft_transpose_t), | intent(in) | :: | transpose_type |
Type of transposition to perform |
||
integer(kind=int8), | intent(in) | :: | kernel_type |
Type of kernel to build |
||
integer(kind=int32), | intent(in), | optional | :: | pointers(:,:) |
Optional pointers to unpack kernels |
Executes kernel
Executes kernel on stream
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nvrtc_kernel), | intent(inout) | :: | self |
nvRTC Compiled kernel class |
||
real(kind=real32), | intent(in), | target | :: | in(:) |
Source pointer |
|
real(kind=real32), | intent(in), | target | :: | out(:) |
Target pointer |
|
type(dtfft_stream_t), | intent(in) | :: | stream |
CUDA Stream |
||
integer(kind=int32), | intent(in), | optional | :: | source |
Source rank for pipelined unpacking |
Destroys kernel
Destroys kernel
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nvrtc_kernel), | intent(inout) | :: | self |
nvRTC Compiled kernel class |