把两个核的数据错开

把第二个核的数据从地址 1 挪到地址 4,验证搬运次数真的降了,并给出降了几倍。

开始练习 →

伪共享「伪」在哪

伪共享之所以叫「伪」,是因为【0】。

开始练习 →

怎么消掉伪共享

消除伪共享最直接的办法是【0】。

开始练习 →

两个计数器挤在一起

运行下面这段程序,填写它打印出来的结果。 BLK = 4 def traffic(seq): owner = {} moves = 0 for core, addr in seq: b = addr

开始练习 →

垫开之后

运行下面这段程序,填写它打印出来的结果。 BLK = 4 def traffic(seq): owner = {} moves = 0 for core, addr in seq: b = addr

开始练习 →

自己写:构造一次伪共享

两个核各更新五次自己的计数器,两个计数器挤在同一块。数出访问次数和搬运次数。

开始练习 →

给它加上填充

把第二个计数器挪到下一块(加填充),量出改进前后的搬运次数和倍数。

开始练习 →

几个核一起抢会怎样

把核数从 2 个加到 4 个,都挤在同一块上。数出 2 核和 4 核各搬了多少趟。

开始练习 →

⚠️ 看代码完全看不出来

两段代码逻辑完全一样(都是两个核各加五次),只有变量摆放的位置不同。把两段的「加了几次 / 搬了几趟」都打出来。

开始练习 →

优化命中率的第一步

要提高一段程序的命中率,第一步应该【0】。

开始练习 →