0
下面的Thrust函數可以獲得CUDA推出CUDA 5.0的最大塊,CUDA 5.0中使用了CUSP中的稀疏矩陣向量乘法(SpMV),它是一種技術爲持久線程設置執行。第一行是頭文件。如何獲得cuda中推力最大的推力塊5.5
#include <thrust/detail/backend/cuda/arch.h>
thrust::detail::backend::cuda::arch::max_active_blocks(kernel<float,int,VECTORS_PER_BLOCK,TH READS_PER_VECTOR>,THREADS_PER_BLOCK,(size_t)0)
但是該功能不被CUDA 5.5支持。 CUDA 5.5不支持這種技術,還是應該使用其他功能?
線程的原SPMV的塊數爲128,和行是由一個經完成, [cuda_launch_config]的佔用率計算器(https://github.com/jaredhoberock/cuda_launch_config)的實現是最大線程數,並且可能難以控制。所以最好的方法是使用原始持久線程的API,並且避免修改SpMV的原始代碼 – taoyuanjl