cudaMemcpyAsync Interface

public interface cudaMemcpyAsync

Copies data asynchronously between host and device.

Called by

interface~~cudamemcpyasync~~CalledByGraph interface~cudamemcpyasync cudaMemcpyAsync proc~execute~3 nvrtc_kernel%execute proc~execute~3->interface~cudamemcpyasync proc~execute~7 abstract_backend%execute proc~execute~7->interface~cudamemcpyasync proc~execute~7->proc~execute~3 proc~execute_mpi backend_mpi%execute_mpi proc~execute_mpi->proc~execute~3 proc~execute_nccl backend_nccl%execute_nccl proc~execute_nccl->proc~execute~3 proc~execute~8 transpose_handle_cuda%execute proc~execute~8->proc~execute~3 proc~execute_cuda transpose_plan_cuda%execute_cuda proc~execute_cuda->proc~execute~8 proc~run_autotune_backend run_autotune_backend proc~run_autotune_backend->proc~execute~8 proc~autotune_grid autotune_grid proc~autotune_grid->proc~run_autotune_backend proc~create_cuda transpose_plan_cuda%create_cuda proc~create_cuda->proc~run_autotune_backend proc~autotune_grid_decomposition autotune_grid_decomposition proc~create_cuda->proc~autotune_grid_decomposition proc~autotune_grid_decomposition->proc~autotune_grid

Functions

private function cudaMemcpyAsync_ptr(dst, src, count, kdir, stream) result(cudaError_t) bind(C, name="cudaMemcpyAsync")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: dst

Destination pointer

type(c_ptr), value :: src

Source pointer

integer(kind=c_size_t), value :: count

Size in bytes to copy

integer(kind=c_int), value :: kdir

Direction of copy (host-to-device, device-to-host, etc.)

type(dtfft_stream_t), value :: stream

Stream identifier

Return Value integer(kind=c_int)

Returns cudaSuccess if the copy was initiated successfully, or an error code if there was an issue.

private function cudaMemcpyAsync_r32(dst, src, count, kdir, stream) result(cudaError_t) bind(C, name="cudaMemcpyAsync")

Arguments

Type IntentOptional Attributes Name
real(kind=c_float) :: dst

Destination array (32-bit float)

real(kind=c_float) :: src

Source array (32-bit float)

integer(kind=c_size_t), value :: count

Number of elements to copy

integer(kind=c_int), value :: kdir

Direction of copy

type(dtfft_stream_t), value :: stream

Stream identifier

Return Value integer(kind=c_int)

Returns cudaSuccess if the copy was initiated successfully, or an error code if there was an issue.