Skip to content

Commit

Permalink
Merge pull request #724 from DrTimothyAldenDavis/dev
Browse files Browse the repository at this point in the history
SuiteSparse 7.5.0 (Jan 10, 2024)
  • Loading branch information
DrTimothyAldenDavis authored Jan 11, 2024
2 parents df91d7b + c992167 commit da5050c
Show file tree
Hide file tree
Showing 629 changed files with 30,554 additions and 8,378 deletions.
66 changes: 59 additions & 7 deletions .github/workflows/build-arch-emu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ env:
BUILD_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:ParU:RBio:SPQR:SPEX"
# string with name of libraries to be checked
CHECK_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:ParU:RBio:SPQR:SPEX"
# string with name of libraries that are installed
INSTALLED_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CXSparse:LDL:KLU:UMFPACK:ParU:RBio:SPQR:SPEX"


jobs:
Expand Down Expand Up @@ -73,8 +75,12 @@ jobs:
gmp-dev
mpfr-dev
lapack-dev
python3
valgrind
util-linux-misc
autoconf
automake
libtool
- name: get CPU information (emulated)
run: lscpu
Expand Down Expand Up @@ -126,8 +132,12 @@ jobs:
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
-DCMAKE_Fortran_COMPILER_LAUNCHER="ccache" \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=OFF \
-DBLA_VENDOR="Generic" \
-DGRAPHBLAS_COMPACT=ON \
-DSUITESPARSE_DEMOS=OFF \
-DBUILD_TESTING=OFF \
..
echo "::endgroup::"
echo "::group::Build $lib"
Expand All @@ -136,14 +146,14 @@ jobs:
done
- name: check
timeout-minutes: 30
timeout-minutes: 60
run: |
IFS=':'
CHECK_LIBS="${CHECK_LIBS}${{ matrix.extra-check-libs }}"
for lib in ${CHECK_LIBS}; do
printf "::group:: \033[0;32m==>\033[0m Checking library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/${lib}
make demos
make demos CMAKE_OPTIONS="-DSUITESPARSE_DEMOS=ON -DBUILD_TESTING=ON"
echo "::endgroup::"
done
Expand All @@ -170,7 +180,7 @@ jobs:
echo "::endgroup::"
done
- name: build example
- name: build example using CMake
run: |
cd ${GITHUB_WORKSPACE}/Example/build
printf "::group::\033[0;32m==>\033[0m Configuring example\n"
Expand All @@ -187,9 +197,51 @@ jobs:
./my_demo
printf "\033[1;35m C++ binary with shared libraries\033[0m\n"
./my_cxx_demo
printf "\033[1;35m C binary with statically linked libraries\033[0m\n"
./my_demo_static
printf "\033[1;35m C++ binary with statically linked libraries\033[0m\n"
./my_cxx_demo_static
echo "::endgroup::"
- name: test Config
run: |
IFS=:
INSTALLED_LIBS="${INSTALLED_LIBS}${{ matrix.extra-build-libs }}"
for lib in ${INSTALLED_LIBS}; do
printf "::group:: \033[0;32m==>\033[0m Building with Config.cmake with library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/TestConfig/${lib}
cd build
cmake \
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/lib/cmake" \
..
cmake --build . --config Release
echo "::endgroup::"
done
- name: build example using autotools
run: |
cd ${GITHUB_WORKSPACE}/Example
printf "::group::\033[0;32m==>\033[0m Configuring example\n"
autoreconf -fi
mkdir build-autotools
cd build-autotools
PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/lib/pkgconfig/ \
../configure --enable-shared --disable-static
echo "::endgroup::"
printf "::group::\033[0;32m==>\033[0m Building example\n"
make all
echo "::endgroup::"
printf "::group::\033[0;32m==>\033[0m Executing example\n"
printf "\033[1;35m C binary\033[0m\n"
LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/lib ./my_demo
printf "\033[1;35m C++ binary\033[0m\n"
LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/lib ./my_cxx_demo
echo "::endgroup::"
IFS=:
INSTALLED_LIBS="${INSTALLED_LIBS}${{ matrix.extra-build-libs }}"
for lib in ${INSTALLED_LIBS}; do
printf "::group:: \033[0;32m==>\033[0m Building test with library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/TestConfig/${lib}
autoreconf -fi
mkdir build-autotools && cd build-autotools
PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/lib/pkgconfig/ \
../configure --enable-shared --disable-static
make all
echo "::endgroup::"
done
111 changes: 107 additions & 4 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ env:
BUILD_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:ParU:RBio:SPQR:SPEX:GraphBLAS:LAGraph"
# string with name of libraries to be checked
CHECK_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CSparse:CXSparse:LDL:KLU:UMFPACK:ParU:RBio:SPQR:SPEX:GraphBLAS:LAGraph"
# string with name of libraries that are installed
INSTALLED_LIBS: "SuiteSparse_config:Mongoose:AMD:BTF:CAMD:CCOLAMD:COLAMD:CHOLMOD:CXSparse:LDL:KLU:UMFPACK:ParU:RBio:SPQR:SPEX:GraphBLAS:LAGraph"


jobs:
Expand Down Expand Up @@ -158,6 +160,8 @@ jobs:
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
-DCMAKE_Fortran_COMPILER_LAUNCHER="ccache" \
-DBLA_VENDOR="OpenBLAS" \
-DSUITESPARSE_DEMOS=OFF \
-DBUILD_TESTING=OFF \
${{ matrix.cuda-cmake-flags }} \
${{ matrix.openmp-cmake-flags }} \
${{ matrix.link-cmake-flags }} \
Expand All @@ -175,7 +179,7 @@ jobs:
for lib in "${libs[@]}"; do
printf "::group:: \033[0;32m==>\033[0m Checking library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/${lib}
make demos
make demos CMAKE_OPTIONS="-DSUITESPARSE_DEMOS=ON -DBUILD_TESTING=ON"
echo "::endgroup::"
done
Expand All @@ -201,7 +205,7 @@ jobs:
echo "::endgroup::"
done
- name: build example
- name: build example using CMake
run: |
cd ${GITHUB_WORKSPACE}/Example/build
printf "::group::\033[0;32m==>\033[0m Configuring example\n"
Expand All @@ -228,6 +232,56 @@ jobs:
./my_cxx_demo_static
echo "::endgroup::"
- name: test Config
run: |
IFS=':' read -r -a libs <<< "${INSTALLED_LIBS}"
for lib in "${libs[@]}"; do
printf "::group:: \033[0;32m==>\033[0m Building with Config.cmake with library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/TestConfig/${lib}
cd build
cmake \
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/lib/cmake" \
..
cmake --build . --config Release
echo "::endgroup::"
done
- name: build example using autotools
run: |
cd ${GITHUB_WORKSPACE}/Example
printf "::group::\033[0;32m==>\033[0m Configuring example\n"
autoreconf -fi
mkdir build-autotools
cd build-autotools
if [ "${{ matrix.link }}" = static ]; then
_extra_config_flags="--enable-static --disable-shared"
else
_extra_config_flags="--enable-shared --disable-static"
fi
PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/lib/pkgconfig/ \
../configure ${_extra_config_flags}
echo "::endgroup::"
printf "::group::\033[0;32m==>\033[0m Building example\n"
make all
echo "::endgroup::"
printf "::group::\033[0;32m==>\033[0m Executing example\n"
printf "\033[1;35m C binary\033[0m\n"
LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/lib ./my_demo
printf "\033[1;35m C++ binary\033[0m\n"
LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/lib ./my_cxx_demo
echo "::endgroup::"
IFS=':' read -r -a libs <<< "${INSTALLED_LIBS}"
for lib in "${libs[@]}"; do
printf "::group:: \033[0;32m==>\033[0m Building test with library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/TestConfig/${lib}
autoreconf -fi
mkdir build-autotools && cd build-autotools
PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/lib/pkgconfig/ \
../configure ${_extra_config_flags}
make all
echo "::endgroup::"
done
mingw:
# For available GitHub-hosted runners, see:
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
Expand Down Expand Up @@ -337,6 +391,8 @@ jobs:
-DCMAKE_Fortran_COMPILER_LAUNCHER="ccache" \
-DBLA_VENDOR="OpenBLAS" \
-DPython_EXECUTABLE="$(which python)" \
-DSUITESPARSE_DEMOS=OFF \
-DBUILD_TESTING=OFF \
..
echo "::endgroup::"
echo "::group::Build $lib"
Expand All @@ -356,7 +412,7 @@ jobs:
printf "::group:: \033[0;32m==>\033[0m Checking library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/${lib}
PATH="${GITHUB_WORKSPACE}/bin:${PATH}" \
make demos
make demos CMAKE_OPTIONS="-DSUITESPARSE_DEMOS=ON -DBUILD_TESTING=ON"
echo "::endgroup::"
done
Expand All @@ -372,7 +428,7 @@ jobs:
path: ${{ steps.ccache-prepare.outputs.ccachedir }}
key: ${{ steps.ccache-prepare.outputs.key }}

- name: build example
- name: build example using CMake
run: |
cd ${GITHUB_WORKSPACE}/Example/build
printf "::group::\033[0;32m==>\033[0m Configuring example\n"
Expand All @@ -399,3 +455,50 @@ jobs:
PATH="${GITHUB_WORKSPACE}/bin:${PATH}" \
./my_cxx_demo_static
echo "::endgroup::"
- name: test Config
run: |
IFS=':' read -r -a libs <<< "${INSTALLED_LIBS}"
for lib in "${libs[@]}"; do
printf "::group:: \033[0;32m==>\033[0m Building with Config.cmake with library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/TestConfig/${lib}
cd build
cmake \
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/lib/cmake" \
..
cmake --build . --config Release
echo "::endgroup::"
done
- name: build example using autotools
run: |
cd ${GITHUB_WORKSPACE}/Example
printf "::group::\033[0;32m==>\033[0m Configuring example\n"
autoreconf -fi
mkdir build-autotools
cd build-autotools
PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/lib/pkgconfig/ \
../configure --enable-shared --disable-static
echo "::endgroup::"
printf "::group::\033[0;32m==>\033[0m Building example\n"
make all
echo "::endgroup::"
printf "::group::\033[0;32m==>\033[0m Executing example\n"
printf "\033[1;35m C binary\033[0m\n"
PATH="${GITHUB_WORKSPACE}/bin:${PATH}" \
./my_demo
printf "\033[1;35m C++ binary\033[0m\n"
PATH="${GITHUB_WORKSPACE}/bin:${PATH}" \
./my_cxx_demo
echo "::endgroup::"
IFS=':' read -r -a libs <<< "${INSTALLED_LIBS}"
for lib in "${libs[@]}"; do
printf "::group:: \033[0;32m==>\033[0m Building test with library \033[0;32m${lib}\033[0m\n"
cd ${GITHUB_WORKSPACE}/TestConfig/${lib}
autoreconf -fi
mkdir build-autotools && cd build-autotools
PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/lib/pkgconfig/ \
../configure --enable-shared --disable-static
make all
echo "::endgroup::"
done
Loading

0 comments on commit da5050c

Please sign in to comment.