Hi,
I am learning the MPI.jl package. At some point I thought I understand how JIT works, but maybe not. I may need someone help me clarify some basic concepts regarding the MPI usages and Julia:
- 
By executing commands like mpirun -np 4 julia example_mpi.jl, the source code needs to be compiled everytime. Is that correct?
- 
If the code needs to be compiled everytime before the MPI execution, then what is the proper way of doing timings? I feel like the Wtime()function which is the wrapper overMPI_Wtime()is giving me the expected timings compared with the native C implementations.
- 
For large jobs with N iterations/timesteps, the compilation for Julia functions only happens once at the start, so we will see close to C’s performance with a large N. Is this correct? For small runs, if I just type time mpirun -np 2 julia example_mpi.jlin the command line, I can see much larger timing compared with an equivalent MPI C program withtime mpirun -np 2 a.out
- 
Is there a way of running MPI parallelized program inside REPL? 
Thanks!