前回、非商用Linux版 Intel Fortran Compiler 9.1 で -fast オプションを指定したら動きませんでした。ifort --help を実行して見ます。
-xP オプションのせいみたいです。そこで、姫野ベンチ を改めて、-O3 でコンパイルします。
動きました。S も実行します。
これはすごい。coLinux は、Fortran 開発環境としても十分に機能します。
私のような古い PC を使っている場合は、-fast を使わずに -x オプションを指定すればいいはずです。実際に、
のように指定すれば正しく動作しました。利用の際はオプションを確認しましょう。
coLinux 上の Intel Fortran Compiler でコンパイルしたプログラムは、Windows XP が安定して動いている限り、何日でも実行できます。Intel Fortran Compiler を購入する計画のあるところで、まだ Linux マシンを用意できない場合に、先行してプログラム開発を行いたいようなときは、coLinux がお勧めです。ただし、メモリはふんだんに用意しておく必要があります。
$ ifort --help ................... -fast enable -xP -O3 -ipo -no-prec-div -static ................... -ax<codes> generate code specialized for processors specified by <codes> while also generating generic IA-32 code. <codes> includes one or more of the following characters: K Intel Pentium III and compatible Intel processors W Intel Pentium 4 and compatible Intel processors N Intel Pentium 4 and compatible Intel processors. Enables new optimizations in addition to Intel processor-specific optimizations P Intel Core(TM) Duo processors, Intel Core(TM) Solo processors, Intel Pentium 4 and compatible Intel processors with Streaming SIMD Extensions 3 (SSE3) instruction support B Intel Pentium M and compatible Intel processors -x<codes> generate specialized code to run exclusively on processors indicated by <codes> as described above. .................... $
-xP オプションのせいみたいです。そこで、姫野ベンチ を改めて、-O3 でコンパイルします。
$ ifort -O3 himenoBMTxp.f90 ............ $ ./a.out Select Grid-size: Grid-size= XS (64x32x32) S (128x64x64) M (256x128x128) L (512x256x256) XL (1024x512x512) XS mimax= 65 mjmax= 33 mkmax= 33 imax= 64 jmax= 32 kmax= 32 Time measurement accuracy : .10000E-03 Start rehearsal measurement process. Measure the performance in 3 times. MFLOPS: 431.1818 time(s): 1.320000000000000E-002 6.2296884E-03 Now, start the actual measurement process. The loop will be excuted in 13636 times. This will take about one minute. Wait for a while. Loop executed for 13636 times Gosa : 1.0093708E-11 MFLOPS: 425.1774 time(s): 60.8457000000000 Score based on Pentium III 600MHz : 5.132514 FORTRAN PAUSE PAUSE prompt> $
動きました。S も実行します。
$ ./a.out Select Grid-size: Grid-size= XS (64x32x32) S (128x64x64) M (256x128x128) L (512x256x256) XL (1024x512x512) S mimax= 129 mjmax= 65 mkmax= 65 imax= 128 jmax= 64 kmax= 64 Time measurement accuracy : .10000E-03 Start rehearsal measurement process. Measure the performance in 3 times. MFLOPS: 431.0915 time(s): 0.114600000000000 3.2962142E-03 Now, start the actual measurement process. The loop will be excuted in 1570 times. This will take about one minute. Wait for a while. Loop executed for 1570 times Gosa : 1.8456948E-04 MFLOPS: 452.6762 time(s): 57.1143000000000 Score based on Pentium III 600MHz : 5.464464 FORTRAN PAUSE PAUSE prompt> $
これはすごい。coLinux は、Fortran 開発環境としても十分に機能します。
私のような古い PC を使っている場合は、-fast を使わずに -x オプションを指定すればいいはずです。実際に、
$ ifort -xN -O3 -ipo -no-prec-div -static himenoBMTxp.f90
のように指定すれば正しく動作しました。利用の際はオプションを確認しましょう。
coLinux 上の Intel Fortran Compiler でコンパイルしたプログラムは、Windows XP が安定して動いている限り、何日でも実行できます。Intel Fortran Compiler を購入する計画のあるところで、まだ Linux マシンを用意できない場合に、先行してプログラム開発を行いたいようなときは、coLinux がお勧めです。ただし、メモリはふんだんに用意しておく必要があります。