Hi Dave,
Our wrappers are custom written by us for our machines, rather than provided by
OpenMPI. I’m not sure how the developers feel, but I’m guessing that’s probably
how it should be since it’s so highly dependent on the system environment.
Plus, the wrappers are at the ifort / gfortran l
Dave,
As an OpenMPI developer, i strongly encourage everyone to use Fortran
2008 bindings
(e.g. use mpi_f08) whenever possible. Main reason is some ambiguous
stuff from legacy fortran bindings
have been removed, and type checking is much better and hence less error
prone.
since Fortran modules
All,
Ben's suggestion seems reasonable to me. How about having the
mpifort script choose the correct mpif-sizeof.h header file based on
the OMPI_FC compiler given at compile time?
Dave
On Thu, Mar 3, 2016 at 9:48 PM, Ben Menadue wrote:
> Hi Dave,
>
>
>
> The issue
Hi Dave,
The issue is the way MPI_Sizeof is handled; it's implemented as a series of
interfaces that map the MPI_Sizeof call to the right function in the library. I
suspect this is needed because that function doesn't take a datatype argument
and instead infers this from the argument types -
All,
I think that a GNU build of OpenMPI will allow compiling with both
gfortan and ifort, so I think OMPI_FC is useful. I'd like to see it fully
supported if possible, so if the higher-dimensions in mpif-sizeof.h are
not vital and there is another way of accomplishing the same thing I think
Hi Dave,
.mod files are compiler dependent, so if a library is built with say gfortran,
you will get a compiler error in code compiled with a different compiler
if you use a "use" statement
However, you may still be able to specify a different compiler on OpenMPI with
the OPMI_FC
if you use the F
Dave,
Both Gilles and Chris raise important points. You really cannot expect to mix
modules from two different Fortran compilers in a single executable. There is
no requirement placed on a compiler by the Fortran standard for what object
language it should use, how the information in modules
Hi Gilles,
On 04/03/16 13:33, Gilles Gouaillardet wrote:
> there is clearly no hope when you use mpi.mod and mpi_f08.mod
> my point was, it is not even possible to expect "legacy" mpif.h work
> with different compilers.
Sorry, my knowledge of FORTRAN is limited to trying to debug why their
code
Gilles,
I don't see the point of having the OMPI_CC and OMPI_FC environment
variables at all if you're saying that we shouldn't expect them to work. I
actually do think they work fine if you do a GNU build and use them to
specify the Intel compilers. I also think it works fine when you do an
Samuel,
there is clearly no hope when you use mpi.mod and mpi_f08.mod
my point was, it is not even possible to expect "legacy" mpif.h work
with different compilers.
and by the way, if the application is compiled with -i8 (fortran integer
is 8 bytes by default), then OpenMPI must have been com
On 04/03/16 12:17, Dave Turner wrote:
> My understanding is that OpenMPI built with either Intel or
> GNU compilers should be able to use the other compilers using the
> OMPI_CC and OMPI_FC environmental variables.
Sadly not, we tried this but when our one of our very few FORTRAN users
(who
Gilles,
Before anyone takes my opinion as gospel, I should note that I only checked my
copies of the Fortran 90 Handbook (Adams et al.) and the Fortran 2003 Handbook
(Adams et al.). If more than seven dimensions is permitted by Fortran 2008 or
Fortran 15, I stand corrected.
Larry Baker
US Geo
Larry,
currently, OpenMPI generate mpif-sizeof.h with up to 15 dimensions with
intel compilers, but up to 7 dimensions with "recent" gcc (for example
gcc 5.2 and higher)
so i guess the logic behind this is "give the compiler all it can
handle", so if intel somehow "extended" the standard to
Dave,
you should not expect anything when mixing Fortran compilers
(and to be on the safe side, you might not expect much when mixing C/C++
compilers too,
for example, if you built ompi with intel and use gcc for your app, gcc
might complain about unresolved symbols from the intel runtime)
if
I have never tried to mix compilers like Dave mentions. In any event, the
Fortran standard specifies no more than seven dimensions are allowed in an
array declaration. I'm puzzled why OpenMPI would generate code that violates
the Fortran standard?
Larry Baker
US Geological Survey
650-329-5608
My understanding is that OpenMPI built with either Intel or
GNU compilers should be able to use the other compilers using the
OMPI_CC and OMPI_FC environmental variables.
For OpenMPI-1.8.8 built with Intel compilers, if you try to
compile any code that includes mpif.h using OMPI_FC=gfortr
Hello all
Here is a 101 level question:
OpenMPI supports many transports, out of the box, and can be extended to
support those which it does not. Some of these transports, such as
infiniband, provide hardware atomic operations on remote memory, whereas
others, such as iWARP, do not.
My question
17 matches
Mail list logo