When I use window and linux on same problem, same cross sections, they show different solution. It was just test file with about 100pcm std, but it shows quite different k value, about 300 pcm difference.
I used different machines. I thought about random number generator, but I think RNgenerator doesn’t depend on machine, from methodology.
Is it normal?
I’m using MPICH2 for MPI with 24 nodes, 244 core. The command for this is:
At first, it looks working but the result doesn’t.
Through the process, it doesn’t spread work but calculate independently. It shows 244 exactly same result without send/receiving each other.
Is it command problem? or other?
For your 1st question (different answers on different machines/OS’), were the two machines both 64-bit, or was one 32-bit and the other 64?
On the second question (and your new post), yes you do have to compile using mpif90, i.e., use the command 'make MPI=yes '. MPI=yes will set the compiler to the mpi compiler located in MPI_DIR (in the Makefile). Also (although I expect you will receive errors during compilation if this is not done correctly), ensure that if your MPI_DIR points to an MPI wrapper which uses the intel compiler, that the COMPILER flag is set to intel. The converse is true if the MPI wrapper uses gfortran; that is, make sure COMPILER = gnu.
Make sure you are using the mpirun/mpiexec command from the same bin/ directory you used mpif90 from (in your case /opt/applic/mpi/$(COMPILER)-13.1/mpich2-1.4.1p1/bin)
You might need to set your LD_LIBRARY_PATH environment variable to the lib/ subdirectory of your MPI installation. It’s possible that a shared library is getting linked to a different MPI distribution.
You need to make sure that the COMPILER variable in the Makefile is set to gnu, intel, pgi, ibm, or cray (depending on what compiler was used to compile MPICH2. If the COMPILER variable is not correct, it will not run the pre-processor on the code and therefore any blocks of code that have #ifdef MPI around them won’t show up. It looks like your MPICH2 is built off the intel compiler, so I would set COMPILER=intel, MPI=yes, and then run ‘make distclean’, and then ‘make’.