在CUDA中,是否保证默认流等于nullptr?

时间:2015-07-16 15:07:49

标签: cuda default-value cuda-streams

在CUDA driver_types.h我们有:

typedef __device_builtin__ struct CUstream_st *cudaStream_t;

cuda_runtime.h中,我们在很多地方都有默认初始化的流参数。例如:

template<class T>
    static __inline__ __host__ cudaError_t cudaLaunchKernel(
    const T *func,
    dim3 gridDim,
    dim3 blockDim,
    void **args,
    size_t sharedMem = 0,
    cudaStream_t stream = 0
)

假设默认流是(cudaStream) nullptr

是多么安全

1 个答案:

答案 0 :(得分:3)

在多个地方记录了这种情况:

  1. Programming guide
  2.   

    内核启动和主机&lt; - &gt;设备内存副本未指定任何流参数或等效地将stream参数设置为零,将发布到默认流。

    1. For examplej-2
    2.   

      通过传递非零流参数,可以选择将副本与流关联。

      假设默认流等同于cudaMemcpyAsync

      ,似乎很安全