使用 GPU 或 FPGA 加速 10^47 产品的计算
Speeding up computation of 10^47 products with GPU or FPGA
我需要计算形式为
的标量积
T'*log(T)
其中 T
是形式为
的非常大的克罗内克积
T = 1;
for k=1:100
T = kron(T, p(:,k));
end
其中 p
是一个 5 x 100
整数矩阵。
由于最终结果是一个标量,我不需要生成克罗内克乘积数组,直接在线求和即可。但是,每个 p(:,k)
通常有 ca。 3 个唯一值:这给出了大约 3^100
的总数,即 10^47
,组合的数量巨大。
您认为我有可能使用 GPU 或 FPGA 在数周内完成计算吗?
不,1e47
太大了。想象一下,你有一台 超级计算机 ,有 1e6
个节点,每个节点都有超级 GPU,有 1e4
个核心,每个核心可以执行 1e10
个操作第二。到目前为止还不错
1e47 / (1e6 * 1e4 * 1e10) = 1e27 seconds
1e9
(亿)秒大约是30
年。所以我们必须等待 3e19
年,这远远超过了宇宙的 年龄 (1.3e10
).
我需要计算形式为
的标量积T'*log(T)
其中 T
是形式为
T = 1;
for k=1:100
T = kron(T, p(:,k));
end
其中 p
是一个 5 x 100
整数矩阵。
由于最终结果是一个标量,我不需要生成克罗内克乘积数组,直接在线求和即可。但是,每个 p(:,k)
通常有 ca。 3 个唯一值:这给出了大约 3^100
的总数,即 10^47
,组合的数量巨大。
您认为我有可能使用 GPU 或 FPGA 在数周内完成计算吗?
不,1e47
太大了。想象一下,你有一台 超级计算机 ,有 1e6
个节点,每个节点都有超级 GPU,有 1e4
个核心,每个核心可以执行 1e10
个操作第二。到目前为止还不错
1e47 / (1e6 * 1e4 * 1e10) = 1e27 seconds
1e9
(亿)秒大约是30
年。所以我们必须等待 3e19
年,这远远超过了宇宙的 年龄 (1.3e10
).