行列演算におけるメモリ使用量を減らす方法
[OS] ALL
[リリース] ALL
[キーワード] FREE, STORE
[質問]SAS/IMLのプログラムを実行しようとすると、メモリが足りない場合があります。どのような対処策が考えられるでしょうか。
[回答]SAS/IMLでどの程度のメモリを使用できるかは、ご利用のシステム環境に依存します。
SAS/IMLでは、全ての演算をメモリ上(実メモリだけではなく仮想メモリまで含める)で行ないます。1つの行列が占有するメモリは、「( 行数×列数×8 ) +16 バイト」となります。
以上のような対策を実行しても十分なメモリ領域を確保できない場合には、より小さな行列のみを使用したプログラムに変更する必要があるかもしれません。 なお、行列を分割してから演算を行なう例については、下記のFAQをご参照ください。
上記の内容は、米国SAS本社のWEBページに記載されているFAQに基づいて作成されています。 |