【问题标题】:How to create big vector with random numbers using numpy and MPI如何使用 numpy 和 MPI 创建带有随机数的大向量
【发布时间】:2020-08-20 02:26:32
【问题描述】:

我想用 numpy 和 MPI 创建一个大小为 10^15 的向量。

我不知道如何开始。我尝试使用

v = np.random.rand(10**15,1)

但它超出了我的记忆。

【问题讨论】:

标签: python arrays numpy


【解决方案1】:

你不能。这是数千 TB 的数据,即使存储在磁盘上也太多了。考虑重新设计程序以减少数据量或迭代处理数据。

【讨论】:

    【解决方案2】:

    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 )
    

    来源:https://examples.dask.org/array.html#Create-Random-array

    【讨论】:

    • 虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案添加解释并说明适用的限制和假设。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 2017-09-17
    • 2020-03-17
    • 1970-01-01
    相关资源
    最近更新 更多