回 帖 发 新 帖 刷新版面

主题:请教mtlx:64位系统下 如何开辟大于2G内存

IMPLICIT REAL*8 (A-H,O-Z)
      PARAMETER(MEMSIZE=240000000)
      COMMON A(MEMSIZE)

平台:vs2008 + intel fortran 11

在32位下,上述开内存无问题,如果MEMSIZE=250000000,即超出系统内存大小
在64位下,如果MEMSIZE=250000000,也超出系统内存大小。
请教下mtlx老师,如何才能开辟更大的内存空间,采用64位系统

回复列表 (共23个回复)

11 楼

我没说得很明白~
采用64位机6G内存,vs2008+intel fortran 11 :
1. 不论是在debug还是release下,点击:start debuging 弹出“找不到***.exe.的调试信息”
2.将编译得到的exe文件copy到开发的软件中,采用命令行(点击按钮调用求解器)调用此exe,可以运行。

12 楼

[quote]我没说得很明白~
采用64位机6G内存,vs2008+intel fortran 11 :
1. 不论是在debug还是release下,点击:start debuging 弹出“找不到***.exe.的调试信息”
2.将编译得到的exe文件copy到开发的软件中,采用命令行(点击按钮调用求解器)调用此exe,可以运行。
[/quote]
这很正常,因为你是用Release模式编译的EXE,其中不含Debug调试需要的信息,所以启动start debuging后会弹出那个信息。

要想Debug,必须用Debug模式编译。

13 楼

貌似大家用的都是IVF,不知道对CVF恕不熟悉

我现在的程序也需要用大量的数组,采用动态数组时只能开到2G,就是程序前半段占到1.8G、1.9G时都没问题,但是如果继续运行,遇到给新的数组分配地址,超过2G时就会报错,说virtual memory 不足之类的,但是我机子的内存有4G啊,而且在算规模较小的问题时可以完整通过没有问题的

是不是跟单条内存的大小还有关系啊,或是有别的什么问题?

希望对CVF熟悉的大侠发表高见...

14 楼

[quote]貌似大家用的都是IVF,不知道对CVF恕不熟悉

我现在的程序也需要用大量的数组,采用动态数组时只能开到2G,就是程序前半段占到1.8G、1.9G时都没问题,但是如果继续运行,遇到给新的数组分配地址,超过2G时就会报错,说virtual memory 不足之类的,但是我机子的内存有4G啊,而且在算规模较小的问题时可以完整通过没有问题的

是不是跟单条内存的大小还有关系啊,或是有别的什么问题?

希望对CVF熟悉的大侠发表高见...[/quote]
32位的xp系统,单个程序最多调用2G的内存
要么换64位的系统或者Windows 2003和2008的32位版

15 楼

[quote][quote]貌似大家用的都是IVF,不知道对CVF恕不熟悉

我现在的程序也需要用大量的数组,采用动态数组时只能开到2G,就是程序前半段占到1.8G、1.9G时都没问题,但是如果继续运行,遇到给新的数组分配地址,超过2G时就会报错,说virtual memory 不足之类的,但是我机子的内存有4G啊,而且在算规模较小的问题时可以完整通过没有问题的

是不是跟单条内存的大小还有关系啊,或是有别的什么问题?

希望对CVF熟悉的大侠发表高见...[/quote]
32位的xp系统,单个程序最多调用2G的内存
要么换64位的系统或者Windows 2003和2008的32位版[/quote]
这样子啊,多谢ls分享经验,那看样子我得想别的辙了

16 楼

你也是自编FEM程序?我们的FEM程序现在可以算150W元的,300w的还没试过,估计不行。普通的台式机上只能插8G内存。

算300W的估计得动用服务器了

17 楼

其实没必要开那么大,内外存交换着来就行了...

18 楼

[quote]其实没必要开那么大,内外存交换着来就行了...[/quote]
内外存交换的缺点:
1、速度会变慢;
2、代码势必做很多修改

19 楼

[quote]你也是自编FEM程序?我们的FEM程序现在可以算150W元的,300w的还没试过,估计不行。普通的台式机上只能插8G内存。

算300W的估计得动用服务器了[/quote]

是自己编写的FEM程序,目前我可以算300万没有问题,机器内存再高些,千万单元是可以的。我的email:xujiangping0404@sina.com,多多交流

20 楼

[quote][quote]其实没必要开那么大,内外存交换着来就行了...[/quote]
内外存交换的缺点:
1、速度会变慢;
2、代码势必做很多修改
[/quote]
呵呵,如果计算时分配空间已大于系统可用内存,那自己主动交换会比系统自动交换来得快些。。。
我说的也就是这个意思,基本上费内存的就是整体刚阵和单元刚阵,其它东西都没有必要非得放在内存里占着。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册