Commit 84598307 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Merge remote-tracking branch 'origin/mpi-explosive' into lbm

parents c81cd235 5da8785d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ stages:
                -DWITH_COVERAGE=${WITH_COVERAGE}
                -DWITH_EXAMPLES=${WITH_EXAMPLES}
        - make
        - make test
        - make test CTEST_OUTPUT_ON_FAILURE=1
        - make install
        - popd
    variables:
+24 −12
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ endif()

# set Debug/Release options
set( CMAKE_CXX_FLAGS "-std=c++11 -pthread -Wall -Wno-unused-local-typedefs -Wno-unused-variable" )
set( CMAKE_CXX_FLAGS_DEBUG "-g" )
set( CMAKE_CXX_FLAGS_DEBUG "-g -rdynamic -ftemplate-backtrace-limit=0" )
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -mtune=native -DNDEBUG" )
#set( CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -mtune=native -DNDEBUG -ftree-vectorizer-verbose=1 -ftree-vectorize -fopt-info-vec-missed -funroll-loops" )
# pass -rdynamic only in Debug mode
@@ -63,7 +63,7 @@ if( CXX_COMPILER_NAME MATCHES "icpc" )
   message( "Intel compiler detected..."    )
   set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_ICPC -wd2568 -wd2571 -wd2570")
   #####
   #  Ckeck for MIC 
   #  Check for MIC 
   #
   if( WITH_MIC STREQUAL "yes" )
       message( "Compile MIC support..."    )
@@ -86,6 +86,27 @@ if( DEFINED ENV{CI_JOB_NAME} )
   endif()
endif()

#####
# Check for MPI -- poznej podle vraperu compileru -- da se testovat preklad bez MPI
#
if( ${CXX_COMPILER_NAME} STREQUAL "mpic++" )
   message( "MPI compiler detected."    )
   set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_MPI" )
   set( CUDA_HOST_COMPILER "mpic++" )

endif()

####
# Check for MPI -- not working
#
#find_package( MPI )
#if( MPI_CXX_FOUND )
   # set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_MPI" )
   # message( "MPI headers found -- ${MPI_CXX_INCLUDE_PATH}")
   # message( "MPI link flags  -- ${MPI_CXX_LINK_FLAGS}")
   # message( "MPI libraries-- ${MPI_CXX_LIBRARIES}")
#endif()

#####
# Check for CUDA
#
@@ -181,7 +202,7 @@ if( WITH_CUDA STREQUAL "yes" )
        if( NOT WITH_CUSPARSE STREQUAL "no" )
           find_path( CUSPARSE_INCLUDE_DIR cusparse.h
                      /usr/local/cuda/include                   
                      ${CUDA_INCLUDE_DIR}  
                      ${CUDA_INCLUDE_DIRS}  
                      DOC "CUSPARSE headers." )
           if( ${CUSPARSE_INCLUDE_DIR} STREQUAL "CUSPARSE_INCLUDE_DIR-NOTFOUND" )
               message( "CUSPARSE not found." )
@@ -205,15 +226,6 @@ if( OPENMP_FOUND AND WITH_OPENMP STREQUAL "yes" )
   set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENMP ${OpenMP_CXX_FLAGS}" )
endif()

####
# Check for MPI
#
#find_package( MPI )
#if( MPI_CXX_FOUND )
#    set( BUILD_MPI TRUE )
#    message( "MPI headers found -- ${MPI_CXX_INCLUDE_PATH}")
#endif()

find_package( DCMTK )
if( DCMTK_FOUND )
   set( HAVE_DCMTK_H "#define HAVE_DCMTK_H 1" )
+1 −1
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ fi

if test ${WITH_TESTS} = "yes";
then
    make test
    make test CTEST_OUTPUT_ON_FAILURE=1
    if test $? != 0; then
        echo "Error: Some test did not pass successfuly."
    fi
+3 −2
Original line number Diff line number Diff line
@@ -44,7 +44,8 @@ template< typename Real,
          typename Index,
          typename MeshType,
          typename MeshConfig,
          typename SolverStarter >
          typename SolverStarter,
          typename CommunicatorType >
class heatEquationSetter
{
   public:
@@ -64,7 +65,7 @@ class heatEquationSetter
      typedef HeatEquationEocRhs< ExactOperator, TestFunction > RightHandSide;
      typedef Containers::StaticVector < MeshType::getMeshDimension(), Real > Point;
      typedef Operators::DirichletBoundaryConditions< MeshType, TestFunction, Dimension, Real, Index > BoundaryConditions;
      typedef HeatEquationEocProblem< MeshType, BoundaryConditions, RightHandSide, ApproximateOperator > Solver;
      typedef HeatEquationEocProblem< MeshType, BoundaryConditions, RightHandSide, CommunicatorType, ApproximateOperator > Solver;
      SolverStarter solverStarter;
      return solverStarter.template run< Solver >( parameters );
   };
+6 −5
Original line number Diff line number Diff line
@@ -56,7 +56,8 @@ template< typename Real,
          typename Index,
          typename MeshType,
          typename MeshConfig,
          typename SolverStarter >
          typename SolverStarter,
          typename CommunicatorType >
class heatEquationSetter
{
   public:
@@ -78,12 +79,12 @@ class heatEquationSetter
         if( boundaryConditionsType == "dirichlet" )
         {
            typedef Operators::DirichletBoundaryConditions< MeshType, Constant > BoundaryConditions;
            typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide, ApproximateOperator > Problem;
            typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide,CommunicatorType, ApproximateOperator > Problem;
            SolverStarter solverStarter;
            return solverStarter.template run< Problem >( parameters );
         }
         typedef Operators::NeumannBoundaryConditions< MeshType, Constant, Real, Index > BoundaryConditions;
         typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide, ApproximateOperator > Problem;
         typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide, CommunicatorType, ApproximateOperator > Problem;
         SolverStarter solverStarter;
         return solverStarter.template run< Problem >( parameters );
      }
@@ -91,12 +92,12 @@ class heatEquationSetter
      if( boundaryConditionsType == "dirichlet" )
      {
         typedef Operators::DirichletBoundaryConditions< MeshType, MeshFunction > BoundaryConditions;
         typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide, ApproximateOperator > Problem;
         typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide,CommunicatorType, ApproximateOperator > Problem;
         SolverStarter solverStarter;
         return solverStarter.template run< Problem >( parameters );
      }
      typedef Operators::NeumannBoundaryConditions< MeshType, MeshFunction, Real, Index > BoundaryConditions;
      typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide, ApproximateOperator > Problem;
      typedef HeatEquationProblem< MeshType, BoundaryConditions, RightHandSide,CommunicatorType, ApproximateOperator > Problem;
      SolverStarter solverStarter;
      return solverStarter.template run< Problem >( parameters );
   };
Loading