Skip to main content
 首页 » 编程设计

python之处理大矩阵的硬件要求之python

2025年05月04日16insus

我正在开发一个 python 项目,我需要使用大小约为 10000X10000X10000 的矩阵。

考虑到:

  • 矩阵将是密集的,应该存储在 RAM 中。
  • 我需要在该矩阵上执行线性代数(我认为使用 numpy),大约 O(n^3),其中 n=10000 次操作(可并行化)。

我的要求现实吗?在合适的时间内,我需要以这种方式工作的硬件要求是什么?

如果可以提高性能,我也愿意切换语言(例如,在 C 中执行线性代数运算)。

请您参考如下方法:

那么,第一个问题是,您将在矩阵中存储哪种类型的值? 假设它将是整数(并且假设每个字节都使用 ISO 规范的大小,4 字节),您将有 4*10^12 字节要存储。这是大量信息 (4 TB),因此,首先,我不知道您从哪里获取所有这些信息,我建议您只加载其中的一部分,您可以轻松管理。

另一方面,因为你可以并行化它,我会推荐你​​使用 CUDA,如果你买得起 NVIDIA 卡,那么你会有更好的性能。

总而言之,很难只在 RAM 中获取所有这些信息,并且使用并行语言。

PD:您对算法时间复杂度的 O() 估计使用错误。你应该说你有一个 O(n),即 n=size_of_the_matrix 或 O(nmt),即矩阵的维度 n、m 和 t。