Re: [deal.II] Re: deal.II installation on cray XC50 giving MPI_VERSION=0.0

2020-02-10 Thread Wolfgang Bangerth

On 2/7/20 11:43 PM, vachan potluri wrote:
I really appreciate and value your involvement in this thread. I have 
attached mpi.h with this mail. I want to mention that I added this line 
in FindMPI.cmake just before DEAL_II_FIND_FILE(MPI_MPI_H ...):

MESSAGE(STATUS "Searching for mpi.h in ${MPI_CXX_INCLUDE_PATH}")
and found the corresponding output by cmake to be as follows.
-- Include 
/home/ComptGasDynLab/vachanpotluri/source/dealii-9.1.1/cmake/configure/configure_1_mpi.cmake

-- Searching for mpi.h in
-- Found MPI_MPI_H
--   MPI_VERSION: 3.1
--   MPI_LIBRARIES:
--   MPI_INCLUDE_DIRS:
--   MPI_USER_INCLUDE_DIRS:
--   MPI_CXX_FLAGS:
--   MPI_LINKER_FLAGS:
-- Found MPI
-- DEAL_II_WITH_MPI successfully set up with external dependencies.
Notice that the path is not printed, the variable is empty! Probably the 
problem is not with reading the header but with the variable being 
changed somewhere else.


Yes, this is how it looks like. But Then it seems to have found mpi.h 
anyway, in the next line -- wasn't the original problem that it didn't 
find the file?




It's still possible that everything links correctly. What happens if
you run
cmake and then compile? Does it work? 

I have not tried compiling the source because there are some other 
things also that I wanted to figure out.


As I mentioned before, I don't think that the failed detection of the 
MPI version has any practical effect as long as compiling and linking 
succeeds and unless you want to run on many thousands of nodes.


Best
 W.

--

Wolfgang Bangerth  email: bange...@colostate.edu
   www: http://www.math.colostate.edu/~bangerth/

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/83a67558-3b1e-d20d-e011-ab47b5447ce9%40colostate.edu.


[deal.II] Re: deal.II installation on cray XC50 giving MPI_VERSION=0.0

2020-02-10 Thread Bruno Turcksin
Vachan,

I saw on the other thread that you were using CMake 3.5. I would advise to 
download a newer version of CMake. deal.II uses FindMPI from CMake and this 
was rewritten in CMake 3.10 to fix problems with Cray supercomputers. 

Best,

Bruno

On Saturday, February 8, 2020 at 1:43:59 AM UTC-5, vachan potluri wrote:
>
> Dear Prof. Bangerth,
>
> Can you attach it to a reply? It would be interesting to see why the 
>> version 
>> detection didn't work. (Although I see that cmake complains that it can't 
>> find 
>> the file, so that is probably the issue. I don't know why it can't find 
>> the 
>> file...)
>
> I really appreciate and value your involvement in this thread. I have 
> attached mpi.h with this mail. I want to mention that I added this line 
> in FindMPI.cmake just before DEAL_II_FIND_FILE(MPI_MPI_H ...): 
> MESSAGE(STATUS "Searching for mpi.h in ${MPI_CXX_INCLUDE_PATH}")
> and found the corresponding output by cmake to be as follows.
> -- Include 
> /home/ComptGasDynLab/vachanpotluri/source/dealii-9.1.1/cmake/configure/configure_1_mpi.cmake
> -- Searching for mpi.h in 
> -- Found MPI_MPI_H
> --   MPI_VERSION: 3.1
> --   MPI_LIBRARIES: 
> --   MPI_INCLUDE_DIRS: 
> --   MPI_USER_INCLUDE_DIRS: 
> --   MPI_CXX_FLAGS: 
> --   MPI_LINKER_FLAGS: 
> -- Found MPI
> -- DEAL_II_WITH_MPI successfully set up with external dependencies.
> Notice that the path is not printed, the variable is empty! Probably the 
> problem is not with reading the header but with the variable being changed 
> somewhere else.
>
> It's still possible that everything links correctly. What happens if you 
>> run 
>> cmake and then compile? Does it work? 
>
> I have not tried compiling the source because there are some other things 
> also that I wanted to figure out. I have started a new thread for this 
> purpose here https://groups.google.com/forum/#!topic/dealii/MCYyPrZNyjg. 
> I request you to have a look at this one too.
>
> Thank you
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/255f3d22-67b0-4fb6-875c-778737e885ab%40googlegroups.com.


[deal.II] Re: deal.II installation on cray XC50 giving MPI_VERSION=0.0

2020-02-07 Thread vachan potluri
Dear Prof. Bangerth,

Can you attach it to a reply? It would be interesting to see why the 
> version 
> detection didn't work. (Although I see that cmake complains that it can't 
> find 
> the file, so that is probably the issue. I don't know why it can't find 
> the 
> file...)

I really appreciate and value your involvement in this thread. I have 
attached mpi.h with this mail. I want to mention that I added this line in 
FindMPI.cmake 
just before DEAL_II_FIND_FILE(MPI_MPI_H ...): 
MESSAGE(STATUS "Searching for mpi.h in ${MPI_CXX_INCLUDE_PATH}")
and found the corresponding output by cmake to be as follows.
-- Include 
/home/ComptGasDynLab/vachanpotluri/source/dealii-9.1.1/cmake/configure/configure_1_mpi.cmake
-- Searching for mpi.h in 
-- Found MPI_MPI_H
--   MPI_VERSION: 3.1
--   MPI_LIBRARIES: 
--   MPI_INCLUDE_DIRS: 
--   MPI_USER_INCLUDE_DIRS: 
--   MPI_CXX_FLAGS: 
--   MPI_LINKER_FLAGS: 
-- Found MPI
-- DEAL_II_WITH_MPI successfully set up with external dependencies.
Notice that the path is not printed, the variable is empty! Probably the 
problem is not with reading the header but with the variable being changed 
somewhere else.

It's still possible that everything links correctly. What happens if you 
> run 
> cmake and then compile? Does it work? 

I have not tried compiling the source because there are some other things 
also that I wanted to figure out. I have started a new thread for this 
purpose here https://groups.google.com/forum/#!topic/dealii/MCYyPrZNyjg. I 
request you to have a look at this one too.

Thank you

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/5f65d296-af15-4b09-a00e-127ae97fe5bc%40googlegroups.com.
/* -*- Mode: C; c-basic-offset:4 ; -*- */
/*  
 *  (C) 2001 by Argonne National Laboratory.
 *  See COPYRIGHT in top-level directory.
 */
/* src/include/mpi.h.  Generated from mpi.h.in by configure. */
#include "cray_version.h"
#ifndef MPI_INCLUDED
#define MPI_INCLUDED

/* user include file for MPI programs */

/* Keep C++ compilers from getting confused */
#if defined(__cplusplus)
extern "C" {
#endif

#define NO_TAGS_WITH_MODIFIERS 1
#undef MPICH_DEFINE_ATTR_TYPE_TYPES
#if defined(__has_attribute)
#  if __has_attribute(pointer_with_type_tag) && \
  __has_attribute(type_tag_for_datatype) && \
  !defined(NO_TAGS_WITH_MODIFIERS) &&\
  !defined(MPICH_NO_ATTR_TYPE_TAGS)
#define MPICH_DEFINE_ATTR_TYPE_TYPES 1
#define MPICH_ATTR_POINTER_WITH_TYPE_TAG(buffer_idx, type_idx)  __attribute__((pointer_with_type_tag(MPI,buffer_idx,type_idx)))
#define MPICH_ATTR_TYPE_TAG(type)   __attribute__((type_tag_for_datatype(MPI,type)))
#define MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(type) __attribute__((type_tag_for_datatype(MPI,type,layout_compatible)))
#define MPICH_ATTR_TYPE_TAG_MUST_BE_NULL()  __attribute__((type_tag_for_datatype(MPI,void,must_be_null)))
#include 
#  endif
#endif

#if !defined(MPICH_ATTR_POINTER_WITH_TYPE_TAG)
#  define MPICH_ATTR_POINTER_WITH_TYPE_TAG(buffer_idx, type_idx)
#  define MPICH_ATTR_TYPE_TAG(type)
#  define MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(type)
#  define MPICH_ATTR_TYPE_TAG_MUST_BE_NULL()
#endif

#if !defined(INT8_C)
/* stdint.h was not included, see if we can get it */
#  if defined(__cplusplus)
#if __cplusplus >= 201103
#  include 
#endif
#  endif
#endif

#if !defined(INT8_C)
/* stdint.h was not included, see if we can get it */
#  if defined(__STDC_VERSION__)
#if __STDC_VERSION__ >= 199901
#  include 
#endif
#  endif
#endif

#if defined(INT8_C)
/* stdint.h was included, so we can annotate these types */
#  define MPICH_ATTR_TYPE_TAG_STDINT(type) MPICH_ATTR_TYPE_TAG(type)
#else
#  define MPICH_ATTR_TYPE_TAG_STDINT(type)
#endif

#ifdef __STDC_VERSION__ 
#if __STDC_VERSION__ >= 199901
#  define MPICH_ATTR_TYPE_TAG_C99(type) MPICH_ATTR_TYPE_TAG(type)
#else
#  define MPICH_ATTR_TYPE_TAG_C99(type)
#endif
#else 
#  define MPICH_ATTR_TYPE_TAG_C99(type)
#endif

#if defined(__cplusplus)
#  define MPICH_ATTR_TYPE_TAG_CXX(type) MPICH_ATTR_TYPE_TAG(type)
#else
#  define MPICH_ATTR_TYPE_TAG_CXX(type)
#endif


/* Define some null objects */
#define MPI_COMM_NULL  ((MPI_Comm)0x0400)
#define MPI_OP_NULL((MPI_Op)0x1800)
#define MPI_GROUP_NULL ((MPI_Group)0x0800)
#define MPI_DATATYPE_NULL  ((MPI_Datatype)0x0c00)
#define MPI_REQUEST_NULL   ((MPI_Request)0x2c00)
#define MPI_ERRHANDLER_NULL ((MPI_Errhandler)0x1400)
#define MPI_MESSAGE_NULL   ((MPI_Message)0x2c00)
#define MPI_MESSAGE_NO_PROC 

[deal.II] Re: deal.II installation on cray XC50 giving MPI_VERSION=0.0

2020-02-06 Thread vachan potluri

>
>  If you know to which standard the MPI installation is conforming, you 
> could try to set it via
> cmake -DMPI_VERSION=... 
> yourself.

The MPI version is 3.1. But will this be of use? After all, the include 
paths, linker flags and library variables will still be blank.


But separately, we try to obtain the MPI version from the file mpi.h via 
> the 
> following cmake code in cmake/modules/FindMPI.h

I tried this. The mpi.h file is present in 
/opt/cray/pe/mpt/default/gni/mpich-gnu/5.1/include. So I modified my cmake 
invocation as follows.
cmake -DCMAKE_INSTALL_PREFIX=~/bin/dealii-9.1.1 \
-DPREFIX_PATH=/opt/cray/pe \
-DWITH_MPI=ON \
-DMPI_DIR=/opt/cray/pe/mpt/default/gni/mpich-gnu/5.1 \

-DMPI_CXX_INCLUDE_PATH=/opt/cray/pe/mpt/default/gni/mpich-gnu/5.1/include \
-DCMAKE_CXX_COMPILER=/opt/cray/pe/craype/2.5.13/bin/CC \
-DCMAKE_C_COMPILER=/opt/cray/pe/craype/2.5.13/bin/cc \
-DCMAKE_Fortran_COMPILER=/opt/cray/pe/craype/2.5.13/bin/ftn 
\
-DWITH_LAPACK=OFF 
-DLAPACK_DIR=/opt/cray/pe/libsci/17.12.1/GNU/6.1/x86_64 \
-DWITH_PETSC=OFF -DPETSC_DIR=$PETSC_DIR -DPETSC_ARCH=$PETSC_ARCH \
-DWITH_P4EST=OFF -DP4EST_DIR=~/bin/p4est-2.2 \
~/source/dealii-9.1.1

The output still shows this message:
-- Include 
/home/ComptGasDynLab/vachanpotluri/source/dealii-9.1.1/cmake/configure/configure_1_mpi.cmake
-- MPI_MPI_H not found! Call:
-- FIND_FILE(MPI_MPI_H NAMES mpi.h HINTS)
--   MPI_VERSION: 0.0
--   MPI_LIBRARIES: 
--   MPI_INCLUDE_DIRS: 
--   MPI_USER_INCLUDE_DIRS: 
--   MPI_CXX_FLAGS: 
--   MPI_LINKER_FLAGS: 
-- Found MPI
-- DEAL_II_WITH_MPI successfully set up with external dependencies.

and the detailed log still shows blanks:
#DEAL_II_WITH_MPI set up with external dependencies
#MPI_VERSION = 0.0
#MPI_DIR = /opt/cray/pe/mpt/default/gni/mpich-gnu/5.1
#MPI_C_COMPILER = /opt/cray/pe/craype/2.5.13/bin/cc
#MPI_CXX_COMPILER = /opt/cray/pe/craype/2.5.13/bin/CC
#MPI_Fortran_COMPILER = /opt/cray/pe/craype/2.5.13/bin/ftn
#MPI_CXX_FLAGS = 
#MPI_LINKER_FLAGS = 
#MPI_INCLUDE_DIRS = 
#MPI_USER_INCLUDE_DIRS = 
#MPI_LIBRARIES = 

Even after giving the MPI_CXX_INCLUDE_PATH hint, why is cmake not able to 
detect the version? Am I missing something?

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/de290c82-01a9-4fca-9ce6-d4febd42a22f%40googlegroups.com.