导读: 之前一直不太明白的一点:在thread总数确定的情况下,grid size(block number) 和block size(thread number per block)如何组合? 比如说想在8个SM上跑1024 8个threa
之前一直不太明白的一点:在thread总数确定的情况下,grid size(block number) 和block size(thread number per block)如何组合?
比如说想在8个SM上跑1024 8个thread,那可以8 1024,也可以16 512,或32 256,如何选择最佳?
首先明确GPU软硬件的一些情况:
在需要满足最高的吞吐量时,尽量满足SM的最大thread数量,同时block数量尽量少。
举例:SM最大thread:2048;block最大thread:1024
这时就尽量安排每个SM 2个block,每个block1024个线程。当然还要满足register、shared memory的要求。
最大寄存器限制
修改db_block_size必须重建数据库----------非常麻烦
如果 9i 你可以在不同的表空间用不同的块大小
要设置db_16k_cache_size
db_2k_cache_size
db_32k_cache_size
db_4k_cache_size
db_8k_cache_size
中的一个或几个 你要用多大的就设置那个
可用 alter system 动态设置的
在linux内核EXT4的代码中,已经设置了block size的最大和最小值
#define EXT4_MIN_BLOCK_SIZE 1024
#define EXT4_MAX_BLOCK_SIZE 65536
if (blocksize < EXT4_MIN_BLOCK_SIZE ||
blocksize > EXT4_MAX_BLOCK_SIZE) {
ext4_msg(sb, KERN_ERR,
"Unsupported filesystem blocksize %d", blocksize);
goto failed_mount;
}
以上就是关于关于CUDA程序的grid和block size选择全部的内容,包括:关于CUDA程序的grid和block size选择、oracle表空间建好后,能在不删除表空间的情况下修改block size么、如何提升ext4的block size至1MB-CSDN论坛等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!