交番横を通りふと昨日の負傷者159人っていつもこんなに多いっけ??2012年02月22日20時27分
 > Windows2GBの壁

電気技術とプログラムの世界

« 指定フォルダ内の画像からランダムで壁紙を自動設定 | メイン

Windows2GBの壁

Fortranプログラムなどを組む中でWindowsで作業している場合

Variable XXX too large for NTCOFF. Bigger than 2GB. Use heap instead

静的配列をしようしていると2GBの壁にぶつかる。
これは64bitOSのWindowsにしても変わらず単一の配列が2GBを超える計算ができなくなる。
そこで64bitOSのWindowsを扱う場合にのみ使える方法だが、動的配列で定義をすることで8GBまでの単一配列が扱えるようになる。

具体的にはFortranの場合

dimention A(256)
などの配列を
real,allocatable,dimension(:) :: a
と動的配列で定義した後

allocate(a(256))
としてメモリを確保する。

二次元配列の場合は
real,allocatable,dimension(:,:) :: a
allocate(a(256,512))

こうゆうことを考えるとLinuxマシンの方がいいような気がしてくる。
そもそも64BitのWindowsを開発するときになぜ修正しなかったのだろう。せっかくの64bitが。。。

参考
PGI Workstation/Server for Windows(R) 製品情報
Memory Limits for Applications on Windows* - Intel® Software Network/
Forums - Intel® Software Network

トラックバック

このエントリーのトラックバックURL:

コメントする


画像の中に見える文字を入力してください。

About

2010年11月21日 13:11に投稿されたエントリーのページです。

ひとつ前の投稿は「指定フォルダ内の画像からランダムで壁紙を自動設定」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

ページのトップへ
tasyu.com  - ブログ  - 電気  - リンクについて
Copyright © TASYU All rights reserved.