block个数与处理数据量有关吗?
各位好,
我现在在做基于GPU的优化算法,遇到一些基本的问题,请高手指教。
(1)如何选择thread、block个数?
感觉很多时候都是凭感觉在试,不知道有没有什么通用的规则。
例如,要处理4MB=4*1024*1024数据,选择thread个数为256,那么是否意味着block的个数一定要选择为(4*1024*1024)/256=16384 吗?如果不是应该怎么选?
(2)block、grid维数的具体含义?
我的GPU是GTX260+,通过Device Query可知,block的最大尺寸是:512*512*64,不知道这到底是指什么?是说该block的X方向最多包含512个thread,Y方向最多包含512个thread,Z方向最多包含64个thread吗?
都是一些最基本的概念问题,一直比较困扰,请牛人们多指点,在线等,谢谢!