Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个包含 100 个元素的数组,我想添加所有这 100 个元素。我正在使用与下面相同的 C 代码
for(i=0;i<100;i++) { sum+= a[i]; }
让我们假设处理器需要 100 个指令周期来添加 100 个元素,这会降低应用程序的速度。所以,我想知道是否有任何指令可以在单个指令周期中添加 100 个元素以加速应用程序。
没有指令可以在单个硬件指令周期中添加 100 个数字。至少在我所知道的任何硬件中都没有。
但是,如果您有兴趣从台式计算机中获得最大的计算性能,您应该考虑使用显卡进行编程。今天的顶级显卡拥有超过 3000 个内核。
加法对于并行算法并不完美,因为结果不是独立的。但是,如果您有 N 个以上的内核,则时间复杂度为 O(log N)。
建议的互联网搜索词:
GPU程序
GPU编程
并行算法