gpt4 book ai didi

在 mpir 中创建大型数组

转载 作者:行者123 更新时间:2023-11-30 17:53:20 27 4
gpt4 key购买 nike

对于 mpir 中的小数组和 float ,我没有收到错误消息,但当我想创建一个非常大的数组时。假设 >100,000,000 我收到以下错误消息:

GNU MP:无法分配内存(大小=16)按任意键继续 。 。 .

不幸的是我需要 2 个大数组。一个的大小为 100,010,000,另一个的大小为 1,000,100。这在 Windows 64 位机器上可能吗?

有没有办法从内存中清除数组的一部分而不是整个数组(在 MPIR 上)以创建空间?

最佳答案

您无法成功地将那么多内存分配到一个数组中,因为数组的元素必须连续出现在内存中,并且堆的当前状态不太可能允许出现类似情况。

假设您正在谈论 float 数组,其中系统上的 float 的大小可能为 4,这是唯一可能的方法如果存在 4 亿个连续内存地址未被占用,则您能够分配 400MB 内存。

编辑:我并不是说这是不可能的,我只是说它不可靠。

编辑2:解决方案是按 block 分配内存。您可以将其分配为 100 万个 float 的组,而不是一个包含 1 亿个 float 的数组。您更有可能分配 100 个 4MB 的 block ,而不是 1 个 400MB 的 block 。

关于在 mpir 中创建大型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15667065/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com