在CUDA设备中,每个SM都有64KB的芯片内存,靠近它放置。默认情况下,这被划分为48KB的共享内存和16KB的L1缓存。对于那些难以确定内存访问模式的内核,可以将此划分更改为16KB的共享内存和48KB的L1缓存。
为什么CUDA不允许所有64KB的每个SM芯片上的内存用作L1缓存?
有许多种内核没有使用共享内存的必要,但可以使用额外的16KB L1缓存。
为什么CUDA不允许所有64KB的每个SM芯片上的内存用作L1缓存?
有许多种内核没有使用共享内存的必要,但可以使用额外的16KB L1缓存。