Cuda 我应该让cublas处理全局并在不同(主机)功能中重用它们吗?

Cuda 我应该让cublas处理全局并在不同(主机)功能中重用它们吗?,cuda,cublas,Cuda,Cublas,我认为这可以节省一些配置时间,但我不确定这是否会导致意外行为。如果您需要在任何类型的线程并发场景中发出调用,建议使用独立句柄: 该库是线程安全的,只要线程不同时共享同一个cuBLAS句柄,就可以从多个主机线程调用它的函数 还请注意,与特定cublas手柄相关的设备在手柄使用期间应保持不变: 在相应的cublasCreate()和cublasDestroy()调用之间,假定与特定cuBLAS上下文关联的设备保持不变 否则,在属于同一设备和主机线程的cublas调用之间使用单个句柄应该是很好的,

我认为这可以节省一些配置时间,但我不确定这是否会导致意外行为。

如果您需要在任何类型的线程并发场景中发出调用,建议使用独立句柄:

该库是线程安全的,只要线程不同时共享同一个cuBLAS句柄,就可以从多个主机线程调用它的函数

还请注意,与特定cublas手柄相关的设备在手柄使用期间应保持不变:

在相应的
cublasCreate()
cublasDestroy()
调用之间,假定与特定cuBLAS上下文关联的设备保持不变

否则,在属于同一设备和主机线程的cublas调用之间使用单个句柄应该是很好的,即使在多个流之间共享也是如此

CUDA
batchCUBLAS
中给出了将单个“全局”句柄用于多个流式CUBLAS调用(来自同一主机线程,位于同一GPU设备上)的示例