cudaMemcpyAsync Interface

public interface cudaMemcpyAsync

Copies data asynchronously between host and device.

Called by

interface~~cudamemcpyasync~~CalledByGraph interface~cudamemcpyasync cudaMemcpyAsync proc~execute_self_copy abstract_backend%execute_self_copy proc~execute_self_copy->interface~cudamemcpyasync proc~execute~7 kernel_device%execute proc~execute~7->interface~cudamemcpyasync proc~execute_mpi backend_mpi%execute_mpi proc~execute_mpi->proc~execute_self_copy proc~execute_p2p_scheduled backend_mpi%execute_p2p_scheduled proc~execute_mpi->proc~execute_p2p_scheduled proc~execute_p2p_scheduled->proc~execute_self_copy proc~execute~12 abstract_backend%execute proc~execute~12->proc~execute_self_copy

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.