- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I try to install a code on a HPC under Linux.
My command line is :
mpiifort -I./INC/ -I$HOME/MARSLIB/usr/mpi/include/ -module $HOME/MARS/COMPILE_MARS/WTEST-BIDON/OBJETS/ -O2 -i4 -r8 -ftz -fpe0 -fp-model precise -traceback -fno-alias -fno-fnalias -c ./smallf90/toolmpi.f90
and I have this message :
./smallf90/toolmpi.f90(4106): error #6404: This name does not have a type, and must have an explicit type. [MPI_CHAR]
CALL MPI_BCAST(val,1,MPI_CHAR,0,MPI_COMM_MARS,IERR_MPI)
------------------------^
compilation aborted for ./smallf90/toolmpi.f90 (code 1)
Can you help me, please ?
thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does your program have either "USE MPI" or "include mpif.h" in it?
If so, and you are still getting this failure, please post the source code so we can take a more useful look.
--Lorri
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
yes, the program has "INCLUDE mpif.h". The code I want to install is in attached.
Thank for your help.
Delphine
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your code looks OK. I can't successfully build it because I don't have the mod files, but I don't get the error about undefined MPI_CHAR. To confirm, I renamed MPI_CHAR to MPI_CHARRRRR and did get an "undefined" message.
Which version of MPI are you using?
Do you perhaps have multiple versions of mpif.h in the different -I directories that you have specified? That would be worth checking first.
--Lorri
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
You are right, I have multile versions oif mpif.h. There are not specified in the different -l directories.
There is one in /usr/local/include on the cluster and otther in /opt/intel/impi/3.2.2.006/include64
Do you know how to specify the file mpif.h to use ?
My version of mpi is : ifort (IFORT) 11.0 20090318
Thanks, Delphine
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Directories listed on the command line with -I (you have two) are looked at first, then those listed in the definition of INCLUDE. You'll want to make sure that the correct set of files are seen first.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thanks for reply.
I check the order of directories and it is correct. But, I think my MPI version is old, because there isn't MPI_CHAR in mpif.h but INTEGER MPI_CHARACTER.
So I modify my code and replace MPI_CHAR by MPI_CHARACTER. And compilation was ok.
My question is : how can I check the MPI version ? how can I update it ?
Regards
Delphine
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, you do have an old version of Intel MPI. You can download the latest your license allows at https://registrationcenter.intel.com/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Do you know if this product "Intel Parallel studio XE Composer Edition for Fortran and C++ Linux" contains also the MPI Intel product ? So if I upgrade compilers, I also upgrade Intel MPI ? thanks
Delphine
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Among the various offered versions of parallel studio, the one which includes mpi is named cluster edition.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page