Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Ben Menadue
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Gilles Gouaillardet
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Dave Turner
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Ben Menadue
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 -

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Dave Turner
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Michael Rezny
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Larry Baker
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Christopher Samuel
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Dave Turner
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Gilles Gouaillardet
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Christopher Samuel
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Larry Baker
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Gilles Gouaillardet
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Gilles Gouaillardet
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

Re: [OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Larry Baker
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

[OMPI devel] mpif.h on Intel build when run with OMPI_FC=gfortran

2016-03-03 Thread Dave Turner
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

[OMPI devel] Network atomic operations

2016-03-03 Thread dpchoudh .
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