【发布时间】:2020-08-20 02:26:32
【问题描述】:
我想用 numpy 和 MPI 创建一个大小为 10^15 的向量。
我不知道如何开始。我尝试使用
v = np.random.rand(10**15,1)
但它超出了我的记忆。
【问题讨论】:
-
确实不能。但是,您可以使用 Dask examples.dask.org/array.html#Create-Random-array 处理相对较大(10 GB)的数组
我想用 numpy 和 MPI 创建一个大小为 10^15 的向量。
我不知道如何开始。我尝试使用
v = np.random.rand(10**15,1)
但它超出了我的记忆。
【问题讨论】:
你不能。这是数千 TB 的数据,即使存储在磁盘上也太多了。考虑重新设计程序以减少数据量或迭代处理数据。
【讨论】:
Dask 数组协调许多 Numpy 数组,在网格中排列成块。它们支持 Numpy API 的大部分子集。
当您希望将结果作为 NumPy 数组时调用 .compute()。
%%time
import dask.array as da
answer_sum = da.random.random((10**15)).sum().compute()
answer_mean = da.random.random((10**15)).mean().compute()
print(answer_sum)
print(answer_mean )
【讨论】: