くだすれFORTRAN(超初心者用)その4at TECHくだすれFORTRAN(超初心者用)その4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト500:デフォルトの名無しさん 09/08/08 00:21:42 fortran90のallocateに関してですが、メモリ2GBの環境で、 allocatbleの配列A:0.3GB程度、配列B:1.8GB程度、配列C:0.3GB程度を使用するとします。 1)まず、配列Aをallocateし、使用後にdeallocate、 2)次に、配列Bをallocate、使用後に同様にdeallocateを行い 3)最後に、配列Cをallocateし、最終処理を行う。 上記一連の作業であれば、2GBの環境で動作すると考えたのですが、 ○実行すると最後の配列Cのallocateでメモリオーバーで落ちてしまいます。 ○試しに、EM64Tの環境(メモリ8GB)で実行し、topコマンドでチェックしたところ、 確かに最後の配列Cのallocate部分でメモリ使用量が2.1GB程度となっていることが分かりました。 つまり、配列Bのdeallocateを行っても、この部分のメモリが解放されていないということだと思いますが、 配列Bのallocate自体はできているので、配列Aのdeallocateによるメモリ解放はできているということになると思います。 allocatbleの配列でメモリが解放される場合と、されない場合というのはどのような条件で決まるのでしょうか。 (使用コンパイラーはIntel fortran Version 9.1) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch