通过cudaStreamCreate与cudaStreamCreateWithFlags创建的流的行为?

时间:2016-05-04 03:58:53

标签: cuda

我注意到cudaStreamCreate只是一个__host__ - 函数,但cudaStreamCreateWithFlags是一个__host__ __device__函数。

cudaStreamCreate函数中{{}}}不可用的两者之间是否存在重要差异?

我看到了documentation for the cudaStreamCreateWithFlags flags parameter

  

创建新的异步流。 flags参数确定了   流的行为。标志的有效值是

     
      
  • __device__:默认流创建标记。
  •   
  • cudaStreamDefault:指定在创建的中运行的工作   流可以与流0中的工作(NULL流)同时运行,   并且创建的流不应执行隐式同步   与流0。
  •   

究竟是什么"默认流创建标志"意思?创建的流将如何表现?

1 个答案:

答案 0 :(得分:1)

的行为
cudaStreamCreateWithFlags(&stream, cudaStreamDefault);

相同
cudaStreamCreate(&stream);

除了cudaStreamCreate__host__函数且cudaStreamCreateWithFlags__host__ __device__函数。