一条指令多个数据是什么意思
SIMD 的意思是「一条指令,多个数据」。它做的是【0】。
SIMD 对数据摆放有什么要求
要用上 SIMD,数据最好【0】。
GPU 擅长什么样的活
GPU 特别适合的任务是【0】。
一条顶四条
运行下面这段程序,填写它打印出来的结果。 n = 32 lanes = 4 print(str(n) + "/" + str(n // lanes) + "/" + str(lanes))
凑不齐一整排会怎样
运行下面这段程序,填写它打印出来的结果。 for n in (32, 30): lanes = 4 full = n // lanes left = n - full * lanes print(str(fu
自己写:算 SIMD 要几条指令
给数据个数和通道数,算出「几整排 / 剩几个 / 一共几条指令」(剩下的每个算一条)。
⚠️ SIMD 的前提是数据挨着
比较两种数据摆放:连着的 32 个 vs 步长为 4 取出来的 8 个。各自装载了几次、能凑几整排。
优化之前先做什么
着手优化内存访问之前,第一件该做的事是【0】。
怎么算优化成功
一次内存访问优化算成功的判据是【0】。
优化前后的两个数
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def loads(idxs): cur = -1 n = 0 for i in idxs: b = i // BLK if