diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000000000000000000000000000000000000..845eae4c6ae208384d911c88499fa82c92ac5921 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,51 @@ +#!groovy + +parallel ( + + +"nyu" : {node ('nyu') + { + deleteDir() + checkout scm + stage ('build_nyu') + { + sh "./build.sh $WORKSPACE $NODE_NAME" + } + + stage ('run_nyu') + { + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 2" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 3" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 4" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 5" + } + } + }, + + + + +"sb15" : {node ('sbalzarini-mac-15') + { + deleteDir() + env.PATH = "/usr/local/bin:${env.PATH}" + checkout scm + stage ('build_sb15') + { + sh "./build.sh $WORKSPACE $NODE_NAME NO" + } + + stage ('run_sb15') + { + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 2" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 3" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 4" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 5" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 6" + sh "cd openfpm_vcluster && ./run.sh $WORKSPACE $NODE_NAME 7" + } + } + } + +) + diff --git a/configure.ac b/configure.ac index 552b31f3158221301e71bd4c772bc357fa688f8d..5fb4c03ae995bb84e8f17db3c1200a0dc35dc18d 100755 --- a/configure.ac +++ b/configure.ac @@ -159,6 +159,14 @@ AX_LIB_HILBERT([],[echo "Cannot detect libhilbert, use the --with-libhilbert opt INCLUDES_PATH+=" -I/usr/local/include -I. -I../../openfpm_devices/src -I../../openfpm_data/src -I../../openfpm_io/src -I../../openfpm_vcluster/src -I../../src" +####### Detect OpenMP + +AX_OPENMP([CFLAGS="$OPENMP_CFLAGS" + LDFLAGS="$OPENMP_LDFLAGS"],[]) + +AC_SUBST(OPENMP_CFLAGS) +AC_SUBST(OPENMP_LDFLAGS) + ###### Check for se-class1 AC_MSG_CHECKING(whether to build with security enhancement class1) diff --git a/run.sh b/run.sh new file mode 100755 index 0000000000000000000000000000000000000000..00fd49ba09b02f9470f470d6caafe2d33353fac6 --- /dev/null +++ b/run.sh @@ -0,0 +1,14 @@ +#! /bin/bash + +echo "RUN numerics test" + +source $HOME/openfpm_vars + +mpirun -np $3 ./src/numerics +if [ $? -ne 0 ]; then + curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_numerics test \" }] }" https://hooks.slack.com/services/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 + exit 1 ; +fi + +curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Info:\", \"color\": \"#00FF00\", \"text\":\"$2 completed succeffuly the openfpm_numerics test \" }] }" https://hooks.slack.com/services/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 + diff --git a/src/FiniteDifference/Average.hpp b/src/FiniteDifference/Average.hpp index 8e92b279e85a5f1071675bb1bae0e0f7da66667a..45867c6c7f0ea9ff238d9033c9d4af82eb747734 100644 --- a/src/FiniteDifference/Average.hpp +++ b/src/FiniteDifference/Average.hpp @@ -45,7 +45,7 @@ class Avg * In case of non staggered case this function just return a null grid_key, in case of staggered, * it calculate how the operator shift the calculation in the cell * - * \param position where we are calculating the derivative + * \param pos position where we are calculating the derivative * \param gs Grid info * \param s_pos staggered position of the properties * @@ -77,7 +77,7 @@ class Avg<d,arg,Sys_eqs,CENTRAL> * conditions it is a distributed map * * \param g_map It is the map explained in FDScheme - * \param k_map position where the average is calculated + * \param kmap position where the average is calculated * \param gs Grid info * \param cols non-zero colums calculated by the function * \param coeff coefficent (constant in front of the derivative) @@ -113,7 +113,7 @@ class Avg<d,arg,Sys_eqs,CENTRAL> * * It follow the same concept of central derivative * - * \param position where we are calculating the derivative + * \param pos position where we are calculating the derivative * \param gs Grid info * \param s_pos staggered position of the properties * @@ -160,7 +160,7 @@ class Avg<d,arg,Sys_eqs,FORWARD> * conditions it is a distributed map * * \param g_map It is the map explained in FDScheme - * \param k_map position where the average is calculated + * \param kmap position where the average is calculated * \param gs Grid info * \param cols non-zero colums calculated by the function * \param coeff coefficent (constant in front of the derivative) @@ -188,7 +188,7 @@ class Avg<d,arg,Sys_eqs,FORWARD> * In case of non staggered case this function just return a null grid_key, in case of staggered, * the FORWARD scheme return the position of the staggered property * - * \param position where we are calculating the derivative + * \param pos position where we are calculating the derivative * \param gs Grid info * \param s_pos staggered position of the properties * @@ -220,7 +220,7 @@ class Avg<d,arg,Sys_eqs,BACKWARD> * conditions it is a distributed map * * \param g_map It is the map explained in FDScheme - * \param k_map position where the average is calculated + * \param kmap position where the average is calculated * \param gs Grid info * \param cols non-zero colums calculated by the function * \param coeff coefficent (constant in front of the derivative) @@ -247,7 +247,7 @@ class Avg<d,arg,Sys_eqs,BACKWARD> * In case of non staggered case this function just return a null grid_key, in case of staggered, * the BACKWARD scheme return the position of the staggered property * - * \param position where we are calculating the derivative + * \param pos position where we are calculating the derivative * \param gs Grid info * \param s_pos staggered position of the properties * diff --git a/src/FiniteDifference/eq_unit_test_3d.hpp b/src/FiniteDifference/eq_unit_test_3d.hpp index aa11f5bae64970078c59f87be26a5e16e02940c8..f8b4bc3d03e10b21498bb0d94f74846d85858a75 100644 --- a/src/FiniteDifference/eq_unit_test_3d.hpp +++ b/src/FiniteDifference/eq_unit_test_3d.hpp @@ -83,14 +83,13 @@ const bool lid_nn_3d_petsc::boundary[] = {NON_PERIODIC,NON_PERIODIC,NON_PERIODIC // Constant Field struct eta { + //! define that eta is a constant field typedef void const_field; + //! therutn the value of the constant static float val() {return 1.0;} }; -//#define SYSEQ_TYPE lid_nn_3d_eigen; -//#include "Equations/stoke_flow_eq_3d.hpp" - template<typename solver_type,typename lid_nn_3d> void lid_driven_cavity_3d() { #include "Equations/stoke_flow_eq_3d.hpp" diff --git a/src/Makefile.am b/src/Makefile.am index e4f8130d945fc8e82c5685c40525c9c0bd4f8069..90ad2275f837baa87bb1a10154bd9869d37c2a94 100755 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,9 +1,9 @@ -LINKLIBS = $(LIBHILBERT_LIB) $(PETSC_LIB) $(SUITESPARSE_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(METIS_LIB) $(PARMETIS_LIB) $(DEFAULT_LIB) $(PTHREAD_LIBS) $(OPT_LIBS) $(BOOST_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_IOSTREAMS_LIB) $(HDF5_LDFLAGS) $(HDF5_LIBS) $(LIBQUADMATH) +LINKLIBS = $(OPENMP_LDFLAGS) $(LIBHILBERT_LIB) $(PETSC_LIB) $(SUITESPARSE_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(METIS_LIB) $(PARMETIS_LIB) $(DEFAULT_LIB) $(PTHREAD_LIBS) $(OPT_LIBS) $(BOOST_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_IOSTREAMS_LIB) $(HDF5_LDFLAGS) $(HDF5_LIBS) $(LIBQUADMATH) $(OPENMP_LDFLAGS) noinst_PROGRAMS = numerics numerics_SOURCES = main.cpp ../../openfpm_vcluster/src/VCluster.cpp ../../openfpm_devices/src/memory/HeapMemory.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp ../../openfpm_devices/src/Memleak_check.cpp -numerics_CXXFLAGS = $(LIBHILBERT_INCLUDE) $(AM_CXXFLAGS) $(HDF5_CPPFLAGS) $(INCLUDES_PATH) $(BOOST_CPPFLAGS) $(SUITESPARSE_INCLUDE) $(METIS_INCLUDE) $(PARMETIS_INCLUDE) $(EIGEN_INCLUDE) $(PETSC_INCLUDE) -Wno-deprecated-declarations -Wno-unused-local-typedefs +numerics_CXXFLAGS = $(OPENMP_CFLAGS) $(LIBHILBERT_INCLUDE) $(AM_CXXFLAGS) $(HDF5_CPPFLAGS) $(INCLUDES_PATH) $(BOOST_CPPFLAGS) $(SUITESPARSE_INCLUDE) $(METIS_INCLUDE) $(PARMETIS_INCLUDE) $(EIGEN_INCLUDE) $(PETSC_INCLUDE) -Wno-deprecated-declarations -Wno-unused-local-typedefs numerics_CFLAGS = $(CUDA_CFLAGS) numerics_LDADD = $(LINKLIBS) -lparmetis -lmetis nobase_include_HEADERS = Matrix/SparseMatrix.hpp Matrix/SparseMatrix_Eigen.hpp Matrix/SparseMatrix_petsc.hpp \