Re: [OMPI users] mpi.h:: OMPI_HAVE_FORTRAN_LOGICAL / INTEGER / REAL are set to 0 (zero)
Hi, I did a few tests to reproduce the problem, and found out that it is because of using a single cmake cache to handle the fortran settings, so in some cases the part of the cache can be refreshed. I'm thinking to have a second cache to make it more convenient for users. So the current solution is just to run "configure" only once after enabling OMPI_WANT_F77_BINDINGS. I will implement the update for the CMake files soon. Thanks, Shiqing On 2011-05-31 2:32 PM, hi wrote: Greetings once again !!! Environment: OS: Windows 7 64-bit Compilers: ifort and cl.exe (both 64-bit) CMAKE: version-2.8.4 OpenMPI: version 1.5.3 As described in the README.WINDOWS.txt, when performing 'First approach:" I am observing following... 1) via cmake-gui.exe clicked 'Configure' and it shown all config options in pink color see output of this step in attached cmake_gui_output1.txt 2) then I enabled OMPI_WANT_F77_BINDING and OMPI_WANT_F90_BINDING to true and then clicked 'Configure'. see output of this step in attached cmake_gui_output2.txt As you can observe in cmake_gui_output2.txt file, it succeeded on all Fortran data types (except INTEGER*16 and REAL*2). Now what I am observing is that eventho' fortran compiler supports most of the datatypes, but still mpi.h file reports '0' for corresponding datatype. /* Whether we have FORTRAN LOGICAL*1 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL1 0 /* Whether we have FORTRAN LOGICAL*2 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL2 0 /* Whether we have FORTRAN LOGICAL*4 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL4 0 /* Whether we have FORTRAN LOGICAL*8 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL8 0 /* Whether we have FORTRAN INTEGER*1 or not */ #define OMPI_HAVE_FORTRAN_INTEGER1 0 /* Whether we have FORTRAN INTEGER*16 or not */ #define OMPI_HAVE_FORTRAN_INTEGER16 0 /* Whether we have FORTRAN INTEGER*2 or not */ #define OMPI_HAVE_FORTRAN_INTEGER2 0 /* Whether we have FORTRAN INTEGER*4 or not */ #define OMPI_HAVE_FORTRAN_INTEGER4 0 /* Whether we have FORTRAN INTEGER*8 or not */ #define OMPI_HAVE_FORTRAN_INTEGER8 0 /* Whether we have FORTRAN REAL*16 or not */ #define OMPI_HAVE_FORTRAN_REAL16 0 /* Whether we have FORTRAN REAL*2 or not */ #define OMPI_HAVE_FORTRAN_REAL2 0 /* Whether we have FORTRAN REAL*4 or not */ #define OMPI_HAVE_FORTRAN_REAL4 0 /* Whether we have FORTRAN REAL*8 or not */ #define OMPI_HAVE_FORTRAN_REAL8 0 == Any idea on why mpi.h is setting zero for all above fortran datatypes despite fortran compiler supports most of the datatypes (see cmake_gui_output2.txt)??? Thank you in advance. -Hiral ___ users mailing list us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users -- --- Shiqing Fan High Performance Computing Center Stuttgart (HLRS) Tel: ++49(0)711-685-87234 Nobelstrasse 19 Fax: ++49(0)711-685-65832 70569 Stuttgart http://www.hlrs.de/organization/people/shiqing-fan/ email:f...@hlrs.de
[OMPI users] mpi.h:: OMPI_HAVE_FORTRAN_LOGICAL / INTEGER / REAL are set to 0 (zero)
Greetings once again !!! Environment: OS: Windows 7 64-bit Compilers: ifort and cl.exe (both 64-bit) CMAKE: version-2.8.4 OpenMPI: version 1.5.3 As described in the README.WINDOWS.txt, when performing 'First approach:" I am observing following... 1) via cmake-gui.exe clicked 'Configure' and it shown all config options in pink color see output of this step in attached cmake_gui_output1.txt 2) then I enabled OMPI_WANT_F77_BINDING and OMPI_WANT_F90_BINDING to true and then clicked 'Configure'. see output of this step in attached cmake_gui_output2.txt As you can observe in cmake_gui_output2.txt file, it succeeded on all Fortran data types (except INTEGER*16 and REAL*2). Now what I am observing is that eventho' fortran compiler supports most of the datatypes, but still mpi.h file reports '0' for corresponding datatype. /* Whether we have FORTRAN LOGICAL*1 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL1 0 /* Whether we have FORTRAN LOGICAL*2 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL2 0 /* Whether we have FORTRAN LOGICAL*4 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL4 0 /* Whether we have FORTRAN LOGICAL*8 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL8 0 /* Whether we have FORTRAN INTEGER*1 or not */ #define OMPI_HAVE_FORTRAN_INTEGER1 0 /* Whether we have FORTRAN INTEGER*16 or not */ #define OMPI_HAVE_FORTRAN_INTEGER16 0 /* Whether we have FORTRAN INTEGER*2 or not */ #define OMPI_HAVE_FORTRAN_INTEGER2 0 /* Whether we have FORTRAN INTEGER*4 or not */ #define OMPI_HAVE_FORTRAN_INTEGER4 0 /* Whether we have FORTRAN INTEGER*8 or not */ #define OMPI_HAVE_FORTRAN_INTEGER8 0 /* Whether we have FORTRAN REAL*16 or not */ #define OMPI_HAVE_FORTRAN_REAL16 0 /* Whether we have FORTRAN REAL*2 or not */ #define OMPI_HAVE_FORTRAN_REAL2 0 /* Whether we have FORTRAN REAL*4 or not */ #define OMPI_HAVE_FORTRAN_REAL4 0 /* Whether we have FORTRAN REAL*8 or not */ #define OMPI_HAVE_FORTRAN_REAL8 0 == Any idea on why mpi.h is setting zero for all above fortran datatypes despite fortran compiler supports most of the datatypes (see cmake_gui_output2.txt)??? Thank you in advance. -Hiral Checking for working Fortran compiler... Checking for working Fortran compiler...ifort.exe Check ifort.exe external symbol convention... Check ifort.exe external symbol convention...upper case Check if Fortran 77 compiler supports CHARACTER... Check if Fortran 77 compiler supports CHARACTER...yes Check size of Fortran 77 CHARACTER... Check size of Fortran 77 CHARACTER...1 Check corresponding C type of CHARACTER... Check corresponding C type of CHARACTER... char Check alignment of Fortran CHARACTER... Check alignment of Fortran CHARACTER...1 Check if Fortran 77 compiler supports LOGICAL... Check if Fortran 77 compiler supports LOGICAL...yes Check size of Fortran 77 LOGICAL... Check size of Fortran 77 LOGICAL...4 Check corresponding C type of LOGICAL... Check corresponding C type of LOGICAL... int Check alignment of Fortran LOGICAL... Check alignment of Fortran LOGICAL...4 Check if Fortran 77 compiler supports LOGICAL*1... Check if Fortran 77 compiler supports LOGICAL*1...yes Check size of Fortran 77 LOGICAL*1... Check size of Fortran 77 LOGICAL*1...1 Check corresponding C type of LOGICAL*1... Check corresponding C type of LOGICAL*1... char Check alignment of Fortran LOGICAL*1... Check alignment of Fortran LOGICAL*1...1 Check if Fortran 77 compiler supports LOGICAL*2... Check if Fortran 77 compiler supports LOGICAL*2...yes Check size of Fortran 77 LOGICAL*2... Check size of Fortran 77 LOGICAL*2...2 Check corresponding C type of LOGICAL*2... Check corresponding C type of LOGICAL*2... short Check alignment of Fortran LOGICAL*2... Check alignment of Fortran LOGICAL*2...2 Check if Fortran 77 compiler supports LOGICAL*4... Check if Fortran 77 compiler supports LOGICAL*4...yes Check size of Fortran 77 LOGICAL*4... Check size of Fortran 77 LOGICAL*4...4 Check corresponding C type of LOGICAL*4... Check corresponding C type of LOGICAL*4... int Check alignment of Fortran LOGICAL*4... Check alignment of Fortran LOGICAL*4...4 Check if Fortran 77 compiler supports LOGICAL*8... Check if Fortran 77 compiler supports LOGICAL*8...yes Check size of Fortran 77 LOGICAL*8... Check size of Fortran 77 LOGICAL*8...8 Check corresponding C type of LOGICAL*8... Check corresponding C type of LOGICAL*8... long long Check alignment of Fortran LOGICAL*8... Check alignment of Fortran LOGICAL*8...8 Check if Fortran 77 compiler supports INTEGER... Check if Fortran 77 compiler supports INTEGER...yes Check size of Fortran 77 INTEGER... Check size of Fortran 77 INTEGER...4 Check corresponding C type of INTEGER... Check corresponding C type of INTEGER... int Check alignment of Fortran INTEGER... Check alignment of Fortran INTEGER...4 Check if Fortran 77 compiler supports INTEGER*1... Check if Fortran 77 compiler supports INTEGER*1...yes Check size of Fortran 77 INTEGER*1... Check size of Fortran 77 INTEGER*1...1 Check corresponding C type of INTEGER*1... Check