在共享内存中存储常量值是否有任何好处呢?例如:
A[tid] = CONSTANT * B[tid]
其中A
和B
是数组,CONSTANT
是一个常量值,例如4,tid
是线程索引(数组元素=单个线程)。
每个线程都必须读取值CONSTANT
,因此共享内存应该很有用,对吧?
我认为它的工作原理是: 从全局内存中读取数据需要消耗大量时间,因此将常量值从全局内存中读取一次并存储到共享内存中,然后线程可以快速读取它。由于有许多线程(常量值必须被多次读取),因此共享内存应该加速这个过程。