このページは,忘却簿を兼ねた プログラムをコンパイルする際のTips集です。 |
FORTRANでダイレクトアクセス |
---|
ダイレクトアクセスする際,reclでレコード長を指定するが,その単位に注意する. 新しい仕様では,単位が1byteになっている.以前は4bytesであった仕様があり, どちらがデフォルトかはコンパイラによって異なる. 例えば, gfortran では 1byte,インテルのコンパイラでは 4bytes.(2025年1月現在)そのため,-assume byterecl オプションを付けてコンパイルすることで, 1byteで統一するとよい. |
DIRAC 12.6 with 64-bit integers + INTEL MPI 4.1.0 |
INTEL MPIがILP64に対応しているが,-ilp64をつけても64-bit integersでコンパイルしたプログラム本体とうまくリンクできない. 対策として,「use mpi」の代わりに「include "mpif.h"」を用いるとよい.※ ただし,「implicit none」の後に入れる. 該当するファイルは以下の通り. src/xcint/src/xc_mpi.F90 src/main/main.F90 src/interface_mpi/interface_to_mpi.F90 src/interface_mpi/integer_model.F90 |