目录
用环境变量调整流行为
GPU资源的并发限制
默认流的阻塞行为
注:此博客是对谭升的博客的一些学习感悟,详细内容请移步谭升的博客进行学习
谭升的博客
用环境变量调整流行为
Kepler支持的最大Hyper-Q 工作队列数是32 ,但是在默认情况下并不是全部开启,而是被限制成8个,原因是每个工作队列只要开启就会有资源消耗,如果用不到32个可以把资源留给需要的8个队列,修改这个配置的方法是修改主机系统的环境变量。
对于Linux系统中,修改方式如下:
#For Bash or Bourne Shell:
export CUDA_DEVICE_MAX_CONNECTIONS=32
#For C-Shell:
setenv CUDA_DEVICE_MAX_CONNECTIONS 32
另一种修改方法是直接在程序里写,这种方法更好用通过底层驱动修改硬件配置:
setenv("CUDA_DEVICE_MAX_CONNECTIONS", "32", 1);
GPU资源的并发限制
限制内核并发数量的最根本的还是GPU上面的资源,资源才是性能的极限,性能最高无非是在不考虑算法进化的前提下,资源利用率最高的结果。当每个内核的线程数增加的时候,内核级别的并行数量就会下降。
默认流的阻塞行为
本章还有其他板块的内容,多为实践讲解,请移步谭升的博客进行学习。