如何通过故事轻松理解CPU的SIMD并行处理技术?

2026-05-22 14:430阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2365个文字,预计阅读时间需要10分钟。

如何通过故事轻松理解CPU的SIMD并行处理技术?

久不见,我叫阿Q,是CPU一号车间的员工。我所在的CPU有8个车间,也就是8个核心,每个核心都可以同时执行两个线程,即8核16线程,速度杠杠的。我的一号车间,除了负债之外,其他都挺不错的。

好久不见,我叫阿Q,是CPU一号车间的员工。我所在的CPU有8个车间,也就是8个核心,咱们每个核心都可以同时执行两个线程,就是8核16线程,那速度杠杠滴。

我所在的一号车间,除了负责执行指令的我,还有负责读取指令的小A,负责指令译码的小胖和负责结果回写的老K,我们几个各司其职,一起完成执行程序的工作。

一个简单的循环

那天,我们遇到了一段代码:

void array_add(int data[], int len) { for (int i = 0; i < len; i++) { data[i] += 1; } }

循环了好几百次之后,才把这段代码执行完成,每次循环都是做简单又重复的工作,把我累得够呛。

一旁负责结果回写的老K也是累的满头大汗,吐槽道:“每次都是取出来加1又写回去,要是能一次多取几个数,批量处理就好了”

老K的话让我眼前一亮,对啊,能不能批量操作呢?

心里一边想着,一边继续干活了。

繁忙的一天很快结束了,转眼又到了晚上,计算机关机后,我把大家召集了起来。

“兄弟们,还记得咱们白天遇到的那个循环吗?”

“你说哪个循环,咱们这一天可执行了不少循环呢”,小A说到。

阅读全文

本文共计2365个文字,预计阅读时间需要10分钟。

如何通过故事轻松理解CPU的SIMD并行处理技术?

久不见,我叫阿Q,是CPU一号车间的员工。我所在的CPU有8个车间,也就是8个核心,每个核心都可以同时执行两个线程,即8核16线程,速度杠杠的。我的一号车间,除了负债之外,其他都挺不错的。

好久不见,我叫阿Q,是CPU一号车间的员工。我所在的CPU有8个车间,也就是8个核心,咱们每个核心都可以同时执行两个线程,就是8核16线程,那速度杠杠滴。

我所在的一号车间,除了负责执行指令的我,还有负责读取指令的小A,负责指令译码的小胖和负责结果回写的老K,我们几个各司其职,一起完成执行程序的工作。

一个简单的循环

那天,我们遇到了一段代码:

void array_add(int data[], int len) { for (int i = 0; i < len; i++) { data[i] += 1; } }

循环了好几百次之后,才把这段代码执行完成,每次循环都是做简单又重复的工作,把我累得够呛。

一旁负责结果回写的老K也是累的满头大汗,吐槽道:“每次都是取出来加1又写回去,要是能一次多取几个数,批量处理就好了”

老K的话让我眼前一亮,对啊,能不能批量操作呢?

心里一边想着,一边继续干活了。

繁忙的一天很快结束了,转眼又到了晚上,计算机关机后,我把大家召集了起来。

“兄弟们,还记得咱们白天遇到的那个循环吗?”

“你说哪个循环,咱们这一天可执行了不少循环呢”,小A说到。

阅读全文