Fortran 90 中双精度的最大数组大小是多少?

2024-01-10

抱歉,如果这不是做这个问题的正确位置,这不是关于编程的问题,而是一个技术问题。 我需要处理大量双精度二维向量数组,大约有 1000 万个。但是,在其他程序中,我在处理这种数组时遇到了内存问题。我的问题是双精度数组大小是否有某种限制。

我在 Linux 上工作,Intel 两核,32 位。 谢谢


好吧,我将解释为什么字节数受到限制,而不仅仅是元素计数。在数组索引过程中,必须计算元素的地址。当然它必须适合intptr_tC 变量。此外,数组的大小(以字节为单位)必须适合size_tC 变量。现代机器上的 32 位和 64 位程序上的这些都是 32 位或 64 位。这同样适用于程序可寻址的虚拟内存!还有操作系统和 CPU 可寻址的内存,尽管即使程序是 32 位,它们也可以是 64 位。

这就是 32 位程序和操作系统无法寻址超过 4 GB 内存的根本原因。即使您可以使用比所选 CPU 字大小宽的 Fortran 变量以某种方式计算地址,CPU 也无法访问它。

最后我在 Intel Fortran 中以 32 位模式进行了一个实验,其中数组具有 32 字节元素:

complex(16), allocatable :: a(:)
 do i=1,100
   allocate(a(2**i))
   a(size(a)) = 1
   deallocate(a)
   write(*,*) i
 end do
end

ifort arraysize.f90 -m32 -check -traceback -g

输出如预期:

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
    forrtl: severe (179): Cannot allocate array - overflow on array size calculation.

正如预期的那样,数组的大小(以字节为单位)溢出,并且程序在索引变量溢出之前就崩溃了。这不是编译器特定的功能,但有一个根本原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fortran 90 中双精度的最大数组大小是多少? 的相关文章

  • 如何将数组内部指针设置到特定位置? PHP/XML

    我正在尝试使用 XML 而不是数据库来构建一个小网站 我想构建一个下一个和上一个按钮 该按钮将与我显示的内容相关 我找到了 php 函数 next 和 prev 以及 current 但我不知道如何将指针设置到特定位置以便能够相对于当前页面
  • 如何在 PHP 中对数组和数据进行排序?

    这个问题旨在作为有关 PHP 中数组排序问题的参考 人们很容易认为您的特定案例是独特的并且值得提出新问题 但大多数实际上只是此页面上的解决方案之一的微小变化 如果您的问题因与此问题重复而被关闭 请仅在您能解释为什么它与以下所有问题显着不同的
  • 有效地合并两个数组 - 一个已排序,另一个未排序

    我正在解决一个问题 该问题有一个由 n 个元素组成的排序数组 后跟一个未排序的长度数组 O logn O 平方 n 如何最有效地对整个列表进行排序 在上述两种情况下我应该使用哪种排序 由于将单个元素插入数组并保持其排序是O n 你不可能变得
  • Scala Array.apply 有何魔力

    来自 scala 2 10 4 的 array scala Array定义为 final class Array T length Int extends java io Serializable with java lang Clonea
  • Java:数组和向量

    我习惯于使用 PHP 但最近我一直在使用 Java 并且试图解决这个问题让我很头疼 我想用 Java 保存这个表示 Array col name 1 gt Array 1 gt col value 1 2 gt col value 2 n
  • 没有找到合适的写入方法

    我正在尝试将先前创建的数组写入文件 这是我遇到的错误 我不知道如何修复它 Zoo java 341 error no suitable method found for write Animals outputWriter write an
  • Java - 使用数组中的值的replace()方法正在更改数组值?

    我正在做类似的事情 public static String list a b c d It gives me a NullPointeException if I didn t use static public String encry
  • 将 2D 矢量转换为 2D 数组

    自从我上次访问数组以来已经有一段时间了 我最近一直在使用向量 我需要将 2D 向量转换回 2D 数组 因为我正在使用的库接受类型的参数double array该数组的访问器在哪里foo i j 例如 这是我的代码 double setupH
  • 根据javascript中对象数组中的id替换特定对象

    我有一系列像这样的对象 var books id 1 name Name of the wind year 2015 rating 4 5 author 2 现在我有一个函数 editBooks 它要求用户提供 id 并用用户给出的值替换具
  • 如何计算数组中相同的值并将其存储到变量中?

    items explode product values is 4 2 4 2 2 4 unique items array unique items gives me 4 2 接下来应该给我 4 3 2 3 并将值的数量存储到变量中的代码
  • 字符串插值搜索

    对于那些不熟悉插值搜索的人来说 这是一种在排序数组中搜索值的方法 可能比二分搜索更快 您查看第一个和最后一个元素 并 假设数组的内容均匀分布 线性插值以预测位置 例如 我们有一个长度为 100 的数组 其中 array 0 0 和 arra
  • JSON 为 foreach() 提供的参数无效

    我在从 JSON 检索数据时遇到一些问题 它总是说为 foreach 提供的参数无效 这是 url php 中的 JSON nama IT SERVICE SOLUTION nilai 0 periode 11 tahun 2014 nam
  • 如何从 Fortran 调用 R 函数?

    根据http gallery rcpp org articles r function from c http gallery rcpp org articles r function from c Rcpp 允许用户从 C 调用 R 函数
  • 使用 for 循环 Python 为数组赋值

    我正在尝试将字符串的值分配给不同的数组索引 但我收到一个名为 列表分配超出范围 的错误 uuidVal distVal uuidArray distArray for i in range len returnedList for beac
  • VB - 如何读取和写入二进制文件?

    如何从任何文件读取原始字节数组 Dim bytes as Byte 然后将该字节数组写回到新文件中 我需要它作为字节数组来在两者之间进行一些处理 我目前正在使用 To read Dim fInfo As New FileInfo dataP
  • 如何在 matlab 中创建由多个 3d 图像数据数组组成的数组

    我正在阅读 15 张图片imagedata imread imagename jpg 它的大小总是320 by 320 by 3 如何将数据放入数组中 使用 for for 循环 以便在访问新数组的第一个元素时获得输入的第一个图像的 RGB
  • 创建动态多维对象/数组

    我正在尝试使用 JS 创建一个多维数组 以便我可以通过 Ajax 调用 PHP 来发布一些数据 这可能很简单 但我对 JS 的了解很少关于这个具体的事情 这是带有代码的 JSFiddle http jsfiddle net k5Q3p 我想
  • .push() 将多个对象放入 JavaScript 数组中返回“未定义”

    当我将项目添加到beats数组然后console log用户时 我得到了数组中正确的项目数 但是当我检查 length 时 我总是得到 1 尝试调用索引总是会给我 未定义 如下所示 Tom beats 1 我想我错过了一些明显的东西 但这让
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • Fortran 子例程返回错误值

    嘿 我正在开发一个 Fortran 程序 遇到了一个奇怪的问题 当我尝试在调用特定子例程之前直接输出数组的某些值时 我得到了正确的值 然后 我尝试在启动子例程时输出同一数组的一些值 它们都是 0 我最终在子例程之后输出数组的值 并且这些值回

随机推荐

  • Gitlab 与 SonarQube 集成

    我对开发社区 特别是 DevOps 实践还很陌生 作为项目的一部分 我们正在尝试将 SonarQube 与 Gitlab 集成 在 SonarQube 和 Git CI 持续集成 上进行了一些研发 看起来插件已为 Github 和 Sona
  • apache http 基于 ip 重写/重定向

    我想将一个ip重定向到我网站的另一个视图 例如 我希望来自ip x的访问者看到www xxx com DEBUG 1当所有其他访问者看到正常的 www xxx com 时 我该如何在 apache 配置文件中执行此操作 使用哪些指令 下面是
  • 通过 NSUserDefaults 设置 ios UserAgent:工作一半的时间?

    这真让我抓狂 我有两个只是 UIWebView 的应用程序 使用 XCode 4 5 2 和 iOS 6 0 SDK 我想更改网络调用的 UserAgent 我在以下两个地方都使用了这段代码 NSString secretagent MyU
  • Eclipse CDT:禁用红色下划线

    我使用 eclipse cdt 并且包含了一些文件 不幸的是 我无法将包含路径添加到我的 Eclipse 项目中 因为这样当 Eclipse 开始对新添加的包含进行索引时 它总是会崩溃 因此我想关闭突出显示错误的功能 我可以在哪里执行此操作
  • 选择字段中的 Django 空标签 - 没有查询集

    在选择字段上设置空标签给我带来了一些问题 我看过类似的答案this https stackoverflow com questions 14541074 empty label choicefield django 但这只是谈论形式 假设我
  • Swift Core 数据与 Web 服务器同步

    我正在制作一个应用程序 在 Swift 中 需要在离线和在线模式下运行 当处于离线模式时 数据将存储在本地 CoreData 上 一旦检测到网络 在线 它应该与服务器同步并更新后端数据库 应该怎样做呢 有库或 Pod 吗 我见过这个帖子 h
  • 批量从文件中读取多行

    我想知道是否有一种方法可以从文件中批量读取多行 例如 with open filename rb as f for n lines in f process n lines 在这个函数中 我想做的是 对于每次迭代 将从文件中批量读取接下来的
  • UITableViewAutomaticDimension 无法按预期工作。迅速

    读完雷 文德利希之后guide https www raywenderlich com 1067 self sizing table view cells对于 自动调整表格视图单元格大小 以及这个问题 https stackoverflow
  • 设置 pygame 混合器的输出设备

    我需要使用 pygame 通过不同的音频设备播放音频文件 显然这可以通过参数来实现devicename在方法中pygame mixer init https www pygame org docs ref mixer html pygame
  • 如果其他变量为 NA,则设置新变量 NA

    我想向我的数据框添加一个新变量 N notNAs 它定义其他变量是否为 NA x y z N notNAs 2 3 NA NA NA 1 3 NA 2 3 5 1 4 4 3 1 不确定为什么这是您想要的输出 但实现此目的的一种可能方法是将
  • Apache Web 服务器不允许我刷新 /about 但在 localhost 上工作正常

    我捆绑了我的一个项目 效果很好 但是 当在路由 about 上点击刷新时 它会显示请求的 URL about 在此服务器上未找到 但是 当我在 Web 服务器上的本地主机上执行此操作时 它在刷新和前进 后退按钮上工作正常 我正在使用 Rea
  • 即使服务器收到成功消息,也无法在我的设备中接收 GCM 消息

    我从 gcm 收到了作为对 Web 服务器 本地主机 的响应的成功消息 但设备未收到该消息 请帮忙 下面是我使用的代码 主要活动 package vitpat placement import java io IOException imp
  • SWT:获取系统设备更改的通知(USB 设备连接/断开)

    我正在编写一个 SWT 应用程序 该应用程序需要位于系统托盘中 并在用户连接某些 USB 设备时自动弹出 该应用程序用作其控制面板 在本机环境 在本例中为 win32 但我最终应该与平台无关 中执行此操作的方法是侦听 WM DEVICECH
  • 在 Django 视图中向 Postgres 添加用户/帐户表

    前往编辑2 在views py中调用以下adduser函数 我首先保存用户 因为它的 id 由 Django 在 INSERT 时自动创建 是帐户和密码的主 外键 添加用户似乎工作正常 但是当它到达时Accounts user u 抛出以下
  • 可以在不更改键盘语言的情况下为文本框设置拼写检查语言吗?

    我正在使用 C 和 Net 4 0 并且希望在不更改键盘布局的情况下为文本框设置不同的拼写检查语言 我通过阅读此处的精彩帖子发现可以更改 InputLanguage CurrentInputLanguage 来更改文本框的拼写检查语言 但这
  • 使用git作为集中版本服务器

    我目前在工作中使用svn 我们的设置是 每个人都有一个工作副本 并且我们致力于由 apache2 提供服务的 svn 服务器 所以我提交了更改 其他更新 每个人都可以按照自己的意愿处理副本 所以部署起来非常容易 但现在 我想做同样的事情 但
  • 从不同订阅下创建的映像创建 Azure VM

    有没有办法备份虚拟机 按照 sysprep 方法捕获图像 然后使图库中的该图像对其订阅下的人员可见 例如 我创建一个虚拟机 将其存档到图像库 然后我的同事出现并想要从该图像创建一个虚拟机 该同事不能是我的订阅的共同管理员 或者 是否有一种方
  • UICollectionViewFlowLayout 不使用整体框架

    我最近开始使用 UICollectionView 对 UICollectionViewFlowLayout 有点困惑 集合视图中每个单元格的框架似乎是在每个项目之间的间距相等的情况下计算的 这会导致某些单元格的帧具有分数位置 这会导致标签模
  • 如何对 find 的输出执行“for every”?

    我想找到所有mp41920x1080 的文件 If I do find type f name mp4 exec ffprobe 2 gt 1 它会找到所有mp4文件并显示视频信息 例如 输出将包含 以及其他行 Input 0 mov mp
  • Fortran 90 中双精度的最大数组大小是多少?

    抱歉 如果这不是做这个问题的正确位置 这不是关于编程的问题 而是一个技术问题 我需要处理大量双精度二维向量数组 大约有 1000 万个 但是 在其他程序中 我在处理这种数组时遇到了内存问题 我的问题是双精度数组大小是否有某种限制 我在 Li