diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3c6f8358de4d95722ebaedb21908b7a4c805d0a8..e05637eec727fa40fcf88560df512531e375675a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ --- -image: hpclib/hiepacs-openmpi +image: hpclib/hiepacs stages: - build diff --git a/.gitlab/env.sh b/.gitlab/env.sh index ba10ea46f7bc71387f5460de42cabc72bfaa0442..83826702f54e5ceefad05c35d22aa018b3556494 100644 --- a/.gitlab/env.sh +++ b/.gitlab/env.sh @@ -1,6 +1,6 @@ # Add OpenMPI to the environment -export PATH=$OPENMPI_DIR/bin:$PATH -export LD_RUN_PATH=$OPENMPI_DIR/lib:$LD_RUN_PATH -export LD_LIBRARY_PATH=$OPENMPI_DIR/lib:$LD_LIBRARY_PATH -export INCLUDE_PATH=$OPENMPI_DIR/include:$INCLUDE_PATH -export PKG_CONFIG_PATH=$OPENMPI_DIR/lib/pkgconfig:$PKG_CONFIG_PATH +# export PATH=$OPENMPI_DIR/bin:$PATH +# export LD_RUN_PATH=$OPENMPI_DIR/lib:$LD_RUN_PATH +# export LD_LIBRARY_PATH=$OPENMPI_DIR/lib:$LD_LIBRARY_PATH +# export INCLUDE_PATH=$OPENMPI_DIR/include:$INCLUDE_PATH +# export PKG_CONFIG_PATH=$OPENMPI_DIR/lib/pkgconfig:$PKG_CONFIG_PATH diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 815e11c4c9d80872f9f773bf36822a3314b6a07b..aa2a161b515d42c1b050c77f2d7192179ba4529c 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -89,7 +89,7 @@ foreach( version ${RUNTYPE} ) set( tests_short_list ${SPM_TESTS} ) endif() if( version STREQUAL "mpi" ) - set( exe mpiexec -np 4 -host localhost:4 ) + set( exe ${MPIEXEC_EXECUTABLE} -np 4 -host localhost:4 ) set( tests_full_list ${SPM_MPI_TESTS} ) set( tests_short_list ${SPM_MPI_TESTS} ) endif() diff --git a/wrappers/fortran90/CMakeLists.txt b/wrappers/fortran90/CMakeLists.txt index e960bda26de65637c6e92bd3d5f1a29c94c27e75..f968fa905a420cc8a85a6be627484fdc3c06ce3c 100644 --- a/wrappers/fortran90/CMakeLists.txt +++ b/wrappers/fortran90/CMakeLists.txt @@ -96,7 +96,7 @@ foreach (_file ${EXAMPLES}) set( exe "") endif() if( version STREQUAL "mpi" ) - set( exe mpiexec -np 4 --host localhost:4 ) + set( exe ${MPIEXEC_EXECUTABLE} -np 4 --host localhost:4 ) endif() add_test(${version}_fortran_${_name_we} ${exe} ./${_name_we}) diff --git a/wrappers/julia/CMakeLists.txt b/wrappers/julia/CMakeLists.txt index 9d76620032ac3e1b6fcb598f94169a366a38084f..8b9720f2f9e13eadf67126038f3e2ec9113441c1 100644 --- a/wrappers/julia/CMakeLists.txt +++ b/wrappers/julia/CMakeLists.txt @@ -130,7 +130,7 @@ if ( Julia_ENABLE_TESTS ) if (SPM_WITH_MPI) set( _test_name_ mpi_${_test_suffix_} ) - add_test( ${_test_name_} mpiexec -np 4 --host localhost:4 ${Julia_EXECUTABLE} ${_test_file_} ) + add_test( ${_test_name_} ${MPIEXEC_EXECUTABLE} -np 4 --host localhost:4 ${Julia_EXECUTABLE} ${_test_file_} ) set_tests_properties( ${_test_name_} PROPERTIES ENVIRONMENT "${Julia_ENVIRONEMENT}" ) endif() diff --git a/wrappers/julia/spm_user.jl b/wrappers/julia/spm_user.jl index ec389061467d27d9eac9ef150027a5cea8ea1f42..98282a87400e5e4caf02a7a58a2fdd851f76d87f 100755 --- a/wrappers/julia/spm_user.jl +++ b/wrappers/julia/spm_user.jl @@ -45,7 +45,6 @@ n = dim1 * dim2 * dim3 nnz = (2*(dim1)-1) * dim2 * dim3 + (dim2-1)*dim1*dim3 + dim2*dim1*(dim3-1) #Create the spm out of the internal data - spm.spmInit( Aptr ) A.mtxtype = spm.SpmSymmetric A.flttype = spm.SpmDouble @@ -55,11 +54,14 @@ A.nnz = nnz A.dof = 1 spm.spmUpdateComputedFields( Aptr ) + +# Allocate the arrays of the spm through C functions spm.spmAlloc( Aptr ) -row = zeros( spm.spm_int_t, nnz ) -col = zeros( spm.spm_int_t, nnz ) -val = zeros( Cdouble, nnz ) +# Get the pointer to the allocated arrays +row = unsafe_wrap(Array, A.rowptr, A.nnzexp, own = false) +col = unsafe_wrap(Array, A.colptr, A.nnzexp, own = false) +val = unsafe_wrap(Array{Cdouble,1}, convert( Ptr{Cdouble}, A.values ), A.nnzexp, own = false) m = 1 for i in 1:dim1 @@ -115,10 +117,6 @@ if m != nnz+1 println( "m ", m, "nnz ", nnz ) end -A.colptr = pointer( col ) -A.rowptr = pointer( row ) -A.values = pointer( val ) - A2 = spm.spmatrix_t( zero ) A2ptr = Ptr{spm.spmatrix_t}( pointer_from_objref(A2) ) rc = spm.spmCheckAndCorrect( Aptr, A2ptr ) diff --git a/wrappers/python/CMakeLists.txt b/wrappers/python/CMakeLists.txt index 85bffef37135b3ed76e85ef7d2781d12c5997832..c5853782765fa123cbe5c7ba76b3820903c90a08 100644 --- a/wrappers/python/CMakeLists.txt +++ b/wrappers/python/CMakeLists.txt @@ -71,7 +71,7 @@ if (Python3_Interpreter_FOUND) if (SPM_WITH_MPI) set( _test_name_ mpi_${_test_suffix_} ) - add_test( ${_test_name_} mpiexec -np 4 --host localhost:4 ${Python3_EXECUTABLE} ${_test_file_} ) + add_test( ${_test_name_} ${MPIEXEC_EXECUTABLE} -np 4 --host localhost:4 ${Python3_EXECUTABLE} ${_test_file_} ) set_tests_properties( ${_test_name_} PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}") endif()