使用GPU或FPGA加速计算10^47个乘积

3

我需要计算形如下面的标量积:

T'*log(T)

其中T是一个非常大的Kronecker乘积,形式如下:

T = 1;
for k=1:100
    T = kron(T, p(:,k));
end

这段代码中,p 是一个大小为 5 x 100 的整数矩阵。

由于最终结果是标量,所以不需要生成 Kronecker 乘积数组,可以直接在线求和。但是,每个 p(:,k) 通常只有约 3 种唯一值:这总共会产生大约 3^100 种组合,相当于 10^47,数量巨大。

您认为我能使用 GPU 或 FPGA 在几周内计算出这些组合吗?

1个回答

6
不,1e47对此来说太大了。想象一下,你有一台拥有1e6个节点的超级计算机,每个节点都有一个拥有1e4个核心的超级GPU,每个核心可以每秒执行1e10次操作。到目前为止一切都很好,但这需要时间:
 1e47 / (1e6 * 1e4 * 1e10) = 1e27 seconds

1e9(十亿)秒大约是30年。因此,我们需要等待3e19年,这远远超过了宇宙的年龄(1.3e10)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接