HDF5EOS ã® debian ããã±ã¼ã¸ä½æä¸
install script ãããã¾ããªã®ã§ã¯ã©ã¯ã©ãã.
MPICH2 㨠OpenMPI
ããããã°, ã©ã£ã¡ä½¿ãã®ãè¯ããã ãã.
gtool5 ã® OpenMP é対å¿?
ä¸æ©å¯ããã¦ããæãããã¨ã«ãã¦. ã¨ããããã¡ã¢
ç°å¢
- OS
Debian GNU/Linux sqeeze/sid
- Compiler
* gfortran 4.3.3 with or without MPI (OpenMPI 1.3.2)
* Fujitsu Fortran 64bit ver.1 with or without MPI (OpenMPI 1.3.2)
- NetCDF
netcdf 3.6.2
:gtool5
gtool5-20090704
ç¾ç¶
Fujitsu ã§ã gfortran ã§ã OpenMP ãæå¹ã«ããã¨ãã¹ãã§è»¢ã¶.
çä¾ 1
- Compiler
OpenMP ãæå¹(-KOMP)ã«ããã¨ä»¥ä¸ã®ãã¹ãã§è»¢ã¶
$ make test-installed ... make[3]: `histtest' ã¯æ´æ°æ¸ã¿ã§ã make[3]: ãã£ã¬ã¯ã㪠`/home/uwabami/work/GFD/gtool5-20090704/test' ããåºã¾ã *** PutLine test ** #<GT_HISTORY:: @initialized=no> *** MESSAGE [HistoryCreate3] *** "xhisttest/xhisttest1.nc" is created (origin=0. [s]) *** MESSAGE [HistoryCreate3] *** "xhisttest/xhisttest9.nc" is created (origin=0. [s]) *** ERROR (Code -117) [GTVarGetPointerReal1] *** invalid allocated size histtest.sh: line 45: 10560 ã¢ãã¼ããã¾ãã./histtest 2> xdifs.log Error: stderr is output to xdifs.log . make[2]: *** [test] ã¨ã©ã¼ 1
çä¾ 2
- Compiler
* gfortran with MPI
* Fujitsu Fortran with MPI
OpenMP ãæå¹(-fopenmp, -KOMP) ã«ããå ´åã«, test-mpi-installed ã§ä»¥ä¸ã®ã¨ã©ã¼.
$ make test-mpi-installed ... make[3]: `histtest_mpi' ã¯æ´æ°æ¸ã¿ã§ã make[3]: ãã£ã¬ã¯ã㪠`/home/uwabami/work/GFD/gtool5-20090704/test' ããåºã¾ã *** MESSAGE [HistoryCreate3] *** "xhisttest_mpi/xhisttest_mpi1_rank000001.nc" is created (origin=0. [sec.]) *** MESSAGE [HistoryCreate3] *** "xhisttest_mpi/xhisttest_mpi1_rank000003.nc" is created (origin=0. [sec.]) *** MESSAGE [HistoryCreate3] *** "xhisttest_mpi/xhisttest_mpi1_rank000000.nc" is created (origin=0. [sec.]) ... *** MESSAGE [HistoryClose] *** "xhisttest_mpi/xhisttest_mpi10.nc" is closed making CDL files from original data files ................ done. making CDL files from generated data files ................ done. testing xhisttest_mpi1_rank000000.nc ...9a10,11 > lon:topology = "circular" > lon:modulo = 360.f Error: stderr is output to xdifs.log .
ã¾ã¨ã
ã¨ããããã§, OpenMP + MPI ã®ãã¤ããªãã並åãå®è¡ãããã¨ãã¦ã, åä½ããªã(ãããããªã)ã®ãç¾ç¶.
I/O ã©ã¤ãã©ãªã OpenMP ã«å¯¾å¿ãã¦ããªãããã¨è¨ã£ã¦,æ¬ãã£ã³ã®ã¢ãã«ãèµ°ããªã, ã£ã¦äºã¯ç¡ãã¨ã¯æããã§ããã.
è¦æ
以ä¸, é常ã«ã©ãã§ãè¯ã(?)ãã¨
- ãã¹ãå®è¡å¾ã«ãã¹ãç¨ã® original 㪠NetCDF ãæ´æ°ãããã®ã¯ã¡ãã£ã¨å«. original ãªå¥´ã¯æ´æ°ããªã or æ´æ°ãããã¢ã³ã¯ãã¹ãæã«èªåçæãã¦, é å¸ç©ã«ã¯å梱ããªãæ¹ãè¯ãã¨æã£ãããã.
- mpiexec ã®æå®(--with-mpiexec) ãå¹ããªãäºãããã®ã§ãã, ä½æ
?
- ã¾ã configure ã®èªåå¤å®ãã¡ãã£ã¨ã¢ã¬ãªãã ãããã,é©å½ã«æ¸ãã°è¯ãã®ã§ãããã©.
... configure: error: "/usr/local/stow/openmpi-ffc/bin/mpif90" compiler does not support MPI. Specify MPI fortran compiler to "$FC"
- mpiexec æå®æã« prefix ã«ã¾ã§ -mpi ãä»ããã®ã¯ããããã ã¨æãã¾ã.
- prefix ã®æå³ç¡ãããã. ä½ã¿ããã®çºã«ãããã¦ããã®ããª?
- ã«ãã¦ã, ãªããå«.
(追è¨)
ãããã OpenMP æå¹ã«ããéã«ã¯ã¹ã¬ããæ°æå®ãã¦ããªãã£ã. é¢ä¿ç¡ãã¨æãããã©.
(追è¨2)
OpenMPI 㨠OpenMP ãæ··ä¹±ãããã ã£ãã®ã§ä¿®æ£.
(追è¨3)
OpenMP æå¹ã«ããæã« test ã«è»¢ã¶ã®ã£ã¦, gt4f90io ã®é ããã ã£ã.ã¨ã©ã¼ãåã. ãã¼ã.
(追è¨4)
20090704 ã®æ´æ°ã§ MPI æå¹æã« test ã«è»¢ã¶ã¨ã©ã¼ã¯ç¡ããªãã¾ãã.対å¿æ©ã. ããã.