异步 cuBLAS 调用
Posted
技术标签:
【中文标题】异步 cuBLAS 调用【英文标题】:Asynchronous cuBLAS calls 【发布时间】:2012-09-16 21:41:35 【问题描述】:我想异步调用 cuBLAS 例程。可能吗?如果是,我该如何实现?
【问题讨论】:
【参考方案1】:在 cublas 调用之前使用 cublasSetStream
函数。
cublasSetStream(cublasHandle, cudaStream)
;
【讨论】:
但是我没有在任何 gemv 和 gemm 调用中使用句柄,所以它也可以工作吗? 在新的 cublas api 中这个函数被改成了cublasSetKernelStream(cudaStream)
如果您只需要一个非默认流,或者您是否应该为每个要异步发生的计算使用一个流,那么查看文档并不清楚。
函数现在只是cublasSetStream(handle, streamId)
以上是关于异步 cuBLAS 调用的主要内容,如果未能解决你的问题,请参考以下文章
CUDA 错误:调用 `cublasCreate(handle)` 时出现 CUBLAS_STATUS_ALLOC_FAILED
RuntimeError:CUDA 错误:仅使用 GPU 调用 `cublasSgemm(handle)` 时出现 CUBLAS_STATUS_EXECUTION_FAILED