[Pw_forum] Fatal Error: File 'mpif.h' not found.

Marcel Mohr marcel at physik.tu-berlin.de
Wed Apr 25 10:30:39 CEST 2007


>> 
>
> That depend on which MPI you are using. Find it out using "which mpirun" and 
> you can see the PATH to the MPI version you are actually running, and your FC 
> should be the one in that PATH.
> Also, from what you said, it seems to me that the only reasonable compiler is 
> mpif90.openmpi since PWSCF is a fortran 90 code. Therefore I would recommend 
> you use
> FC=mpif90.openmpi ./configure
> Or, you could simply modify the make.sys file so that FC is set to 
> mpif90.openmpi in that file.
>> In fact, in this way, I will meet the same error messages.
>> 
> If this does not solve your problem, it probably is because of your 
> PATH/LD_LIBRARY_PATH environment variables. You may need to change them so 
> that the default MPI environment is openmpi. However, it's still wierd. Put 
> your result of "mpif90.openmpi -show"
>> 
>>> otherwise issue  "locate mpif.h" under console to find the path and then 
>>> add the path to your FFLAGS like -I/PATH/TO/THE/FILE.
>>> 
>> 
>> I've mpif.h in many locations on my system, such as, /usr/include, 
>> /usr/lib/mpich/include/, but the *locate mpif.h* command give me nothing, 
>> why?
>> 
> hmm, that's not your fault. I guess the system does not maintain a indexdb, 
> or the admin forgot to put updatedb in crontab?
>> P.S.  I have poor knowledge about mpi.  In my case, my machine is just a 
>> standalone computer, not a member of a cluster, should I use mpi or not?
>>
>> 
> That means do not use MPI. MPI is for cluster only.
> hehe, that solves everything.
> BTW, you should put this last sentence in front of everything...:p
>> Thanks in advance.

That statement is oversimplified ;-)
nowadays there are multicore processors. We have here a 
dual processor dual core standalone computer, and parallizing performs 
quite well, at least better than over LAN.

You can check if there are multiple by running one calculation intensive 
job, and then "top", if this job is only using 25 %, than there are 4 
cores in your system. (I guess there are easier ways, e.g. "qhost" in SGE 
grid engine environments.)


A small calculation intensive task for the linux calculator "bc"

-----
$ bc
define fac (x)
{
         res = 1
         while (x > 1)
         {
                 res *=x;
                 x -= 1;
         }
         return res;
}
fac (5000000)
------

This will keep the processor busy for a while :)


Cheers Marcel



>> ---
>> Hongyi Zhao
>> GnuPG DSA: 0xD108493B
>> _______________________________________________
>> Pw_forum mailing list
>> Pw_forum at pwscf.org
>> http://www.democritos.it/mailman/listinfo/pw_forum
>> 
> Best,
>
>
> Chao Cao
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
>




More information about the users mailing list