Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SuiteSparse 7.7.0 #778

Merged
merged 107 commits into from
Mar 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
aac2fa9
SPEX citation: algo 1021 of ACM TOMS
DrTimothyAldenDavis Jan 29, 2024
32caf51
SPEX 3.1.0: major API revision from SPEX 2.x; many more features (Cho…
DrTimothyAldenDavis Jan 30, 2024
fc1b944
SPEX: create MATLAB deps and Tcov Makefile only if building shared libs
DrTimothyAldenDavis Jan 31, 2024
5f74bce
SPEX: only create MATLAB deps and Tcov/Makefile when not in root CMak…
DrTimothyAldenDavis Jan 31, 2024
d406ba2
SPEX: building spexpython library (shared only)
DrTimothyAldenDavis Jan 31, 2024
f70295a
SPEX_initialize: add debug printfs
DrTimothyAldenDavis Jan 31, 2024
d2cae1e
SPEX: building demos
DrTimothyAldenDavis Jan 31, 2024
bf14c7d
SPEX: temporarily disable check for sizeof(mp_bitcnt_t), for Windows
DrTimothyAldenDavis Jan 31, 2024
413fd1e
FIXME comment in SPEX demos
DrTimothyAldenDavis Jan 31, 2024
0fbacda
printf debug
DrTimothyAldenDavis Jan 31, 2024
7998d0e
SPEX: demos
DrTimothyAldenDavis Jan 31, 2024
c924f40
SPEX: printf format
DrTimothyAldenDavis Jan 31, 2024
b09df58
Example: link with GMP and MPFR; SPEX: append to prefix path, do not …
DrTimothyAldenDavis Jan 31, 2024
2e8c9b6
more info printed for SPEX demos
DrTimothyAldenDavis Jan 31, 2024
7ae56de
CMake: Use MSVC naming convention for compilers that simulate a MSVC …
mmuetzel Feb 2, 2024
bfc7d0d
GraphBLAS: Correctly identify `clang-cl` as MSVC-compatible compiler
mmuetzel Feb 2, 2024
aa8d539
GraphBLAS: Avoid possibility of compatible types in `_Generic` select…
mmuetzel Feb 3, 2024
918d241
LAGraph: Avoid using incompatible command line flags for compiler
mmuetzel Feb 3, 2024
0e4d97c
Root CMakeLists.txt: Automatically pull in UMFPACK when building ParU.
mmuetzel Feb 3, 2024
17859f0
GraphBLAS: Add feature test for supported complex number type.
mmuetzel Feb 4, 2024
fb49339
Merge pull request #752 from mmuetzel/cmake
DrTimothyAldenDavis Feb 4, 2024
ee8d014
Merge pull request #754 from mmuetzel/graphblas
DrTimothyAldenDavis Feb 4, 2024
881e484
GraphBLAS: revise cmake configuration for complex type definitions
DrTimothyAldenDavis Feb 4, 2024
5d569bd
Merge pull request #755 from mmuetzel/lagraph
DrTimothyAldenDavis Feb 4, 2024
39d40b7
Merge pull request #757 from mmuetzel/root
DrTimothyAldenDavis Feb 4, 2024
42d8ca3
revise all version numbers for SuiteSparse 7.7.0
DrTimothyAldenDavis Feb 4, 2024
64e5a0a
Merge branch 'dev2' of https://github.com/DrTimothyAldenDavis/SuiteSp…
DrTimothyAldenDavis Feb 4, 2024
8c86456
version numbers in root CMakeLists.txt
DrTimothyAldenDavis Feb 4, 2024
617cee7
user guide, gitignore
DrTimothyAldenDavis Feb 4, 2024
af513a3
CI: Add runner using `clang-cl`
mmuetzel Feb 3, 2024
0fe7346
Merge pull request #756 from mmuetzel/ci
DrTimothyAldenDavis Feb 5, 2024
cdb5e8e
CI: Update actions to newer versions
mmuetzel Feb 5, 2024
32a6e18
Merge pull request #758 from mmuetzel/ci
DrTimothyAldenDavis Feb 5, 2024
7a1e760
CI: Add check if root CMakeLists.txt pulls in necessary dependencies.
mmuetzel Feb 5, 2024
1afa6ca
Merge pull request #759 from mmuetzel/ci
DrTimothyAldenDavis Feb 5, 2024
59ca19c
CXSparse: Don't use complex numbers of MSVC targets
mmuetzel Feb 6, 2024
15a8139
Merge pull request #761 from mmuetzel/cxsparse
DrTimothyAldenDavis Feb 6, 2024
3e43bff
CXSparse: now using SuiteSparse_config_malloc/calloc/realloc/free
DrTimothyAldenDavis Feb 6, 2024
d7eaad5
Use dependabot to periodically check for updated actions.
mmuetzel Feb 13, 2024
680794f
Merge pull request #762 from mmuetzel/ci
DrTimothyAldenDavis Feb 13, 2024
4f45fc4
simpler way to force a BLAS underscore, or force no underscore
DrTimothyAldenDavis Feb 19, 2024
6e78716
try allowing sizeof(mp_bitcnt_t) < sizeof(int64)
DrTimothyAldenDavis Feb 19, 2024
90d6d52
Fix SPEX
whuaegeanse Feb 20, 2024
29fc665
Merge pull request #766 from whuaegeanse/fix_SPEX
DrTimothyAldenDavis Feb 20, 2024
07842ad
SPEx debugging
DrTimothyAldenDavis Feb 20, 2024
00a8335
spex debug
DrTimothyAldenDavis Feb 20, 2024
e8dbdbd
.
DrTimothyAldenDavis Feb 20, 2024
d65d987
.
DrTimothyAldenDavis Feb 20, 2024
f6fde1c
.
DrTimothyAldenDavis Feb 20, 2024
eb090ec
.
DrTimothyAldenDavis Feb 20, 2024
77f83eb
.
DrTimothyAldenDavis Feb 20, 2024
2b5a5bd
.
DrTimothyAldenDavis Feb 20, 2024
a794cd0
.
DrTimothyAldenDavis Feb 20, 2024
b8ba926
.
DrTimothyAldenDavis Feb 20, 2024
9def308
.
DrTimothyAldenDavis Feb 20, 2024
d0d5bfd
.
DrTimothyAldenDavis Feb 20, 2024
36f4a38
debug
DrTimothyAldenDavis Feb 20, 2024
d79ca3b
.
DrTimothyAldenDavis Feb 20, 2024
69f79a2
.
DrTimothyAldenDavis Feb 20, 2024
45eff02
.
DrTimothyAldenDavis Feb 20, 2024
e5032b0
.
DrTimothyAldenDavis Feb 20, 2024
3b8a459
.
DrTimothyAldenDavis Feb 20, 2024
fa147f6
.
DrTimothyAldenDavis Feb 20, 2024
1ed91eb
.
DrTimothyAldenDavis Feb 20, 2024
5ca2237
.
DrTimothyAldenDavis Feb 20, 2024
dc21db1
.
DrTimothyAldenDavis Feb 20, 2024
4f5f21b
.
DrTimothyAldenDavis Feb 20, 2024
236f11a
.
DrTimothyAldenDavis Feb 20, 2024
01a31f9
.
DrTimothyAldenDavis Feb 20, 2024
d6e2a3d
.
DrTimothyAldenDavis Feb 20, 2024
a20c971
.
DrTimothyAldenDavis Feb 20, 2024
46c1ba0
.
DrTimothyAldenDavis Feb 20, 2024
68e59ad
Example: OK with SPEX 3.1 on 32-bit systems
DrTimothyAldenDavis Feb 20, 2024
c28a5f1
sync with dev2
DrTimothyAldenDavis Feb 21, 2024
0977160
Document `SUITESPARSE_C_TO_FORTRAN` in `README.md`
mmuetzel Feb 23, 2024
a9651a1
add reference to math.js
DrTimothyAldenDavis Feb 24, 2024
71e3433
moving more SPEX GMP interface to SPEX.h; adding SPEX_TRY to SPEX.h
DrTimothyAldenDavis Feb 24, 2024
213bae7
debug cleanup
DrTimothyAldenDavis Feb 24, 2024
54de40b
Merge pull request #768 from DrTimothyAldenDavis/spexdev2
DrTimothyAldenDavis Feb 24, 2024
8969e1e
Merge pull request #767 from mmuetzel/cmake
DrTimothyAldenDavis Feb 24, 2024
5d2e7bf
revert 4f45fc4, and remove SUITESPARSE_BLAS_*UNDERSCORE; use SUITESPA…
DrTimothyAldenDavis Feb 24, 2024
5d80ce0
add SPEX_*_set_null and SPEX_*_clear methods
DrTimothyAldenDavis Feb 24, 2024
6e8e913
update from March 4 group meeting
DrTimothyAldenDavis Mar 4, 2024
aa8e5b9
todo
DrTimothyAldenDavis Mar 4, 2024
04c5764
add OpenMP to SPEX (required for thread safety)
DrTimothyAldenDavis Mar 5, 2024
f68b699
SPEX matlab interface
DrTimothyAldenDavis Mar 5, 2024
a998092
Tcov; mpfr pointer
DrTimothyAldenDavis Mar 5, 2024
c29e24b
ParU: Explicitly include <cinttypes> in header that uses `PRId64`
mmuetzel Mar 6, 2024
e82231f
SPEX test coverage; added spex_free_*_array methods
DrTimothyAldenDavis Mar 6, 2024
e32105e
SPEX: demo_threaded, remove int from omp for loop
DrTimothyAldenDavis Mar 6, 2024
8c59a72
Merge pull request #772 from mmuetzel/paru
DrTimothyAldenDavis Mar 6, 2024
370e948
SPEX User guide update
clouren Mar 8, 2024
5b08d68
Merge pull request #775 from clouren/dev2
DrTimothyAldenDavis Mar 11, 2024
2bc54c8
remove FIXMEs from Config/SPEX.h.in
DrTimothyAldenDavis Mar 11, 2024
e6b2f04
SPEX_mpfr_set_prec, and full test coverage
DrTimothyAldenDavis Mar 20, 2024
c6ac90b
user guide for SPEX: add SPEX_mpfr_set_prec
DrTimothyAldenDavis Mar 20, 2024
931ed09
GraphBLAS bug fix (GB_add_phase0), and latest CUDA draft kernels
DrTimothyAldenDavis Mar 21, 2024
0ddfe4d
dates and changelog
DrTimothyAldenDavis Mar 21, 2024
03806f0
test coverage for GraphBLAS 9.1.0
DrTimothyAldenDavis Mar 21, 2024
9a45c21
LAGraph: test BF
DrTimothyAldenDavis Mar 21, 2024
e14cf13
Copyright Updates
emc2git Mar 21, 2024
b1bd9cc
disable mingw(clang32) github tests in build.yaml
DrTimothyAldenDavis Mar 22, 2024
8f0fb2b
Merge branch 'dev2' of https://github.com/DrTimothyAldenDavis/SuiteSp…
DrTimothyAldenDavis Mar 22, 2024
f1b5459
Merge pull request #779 from emc2git/dev2
DrTimothyAldenDavis Mar 22, 2024
ebc0966
date, demo output, and docs for SuiteSparse 7.7.0
DrTimothyAldenDavis Mar 22, 2024
d5c28f1
Mongoose user guide
DrTimothyAldenDavis Mar 22, 2024
f81b20e
Merge branch 'dev' into dev2
DrTimothyAldenDavis Mar 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2
updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
6 changes: 3 additions & 3 deletions .github/workflows/build-arch-emu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
run: lscpu

- name: checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# shell: bash

- name: install dependencies
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:

- name: restore ccache
# setup the GitHub cache used to maintain the ccache from one job to the next
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
# location of the ccache of the chroot in the root file system
path: /home/runner/rootfs/alpine-latest-${{ matrix.arch }}/home/runner/.ccache
Expand Down Expand Up @@ -164,7 +164,7 @@ jobs:
- name: save ccache
# Save the cache after we are done (successfully) building
# This helps to retain the ccache even if the subsequent steps are failing.
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: /home/runner/rootfs/alpine-latest-${{ matrix.arch }}/home/runner/.ccache
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down
33 changes: 22 additions & 11 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ jobs:
run: lscpu

- name: checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: install dependencies
env:
Expand All @@ -115,7 +115,7 @@ jobs:

- name: restore ccache
# setup the GitHub cache used to maintain the ccache from one job to the next
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: ~/.ccache
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down Expand Up @@ -192,7 +192,7 @@ jobs:
- name: save ccache
# Save the cache after we are done (successfully) building
# This helps to retain the ccache even if the subsequent steps are failing.
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ~/.ccache
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down Expand Up @@ -298,8 +298,18 @@ jobs:
# Allow other runners in the matrix to continue if some fail
fail-fast: false

# CLANG32 is broken, as of Mar 21, 2024. The stable branch CI also fails
# the same way, even though it succeeded on Mar 2, with the same
# SuiteSparse 7.6.1 and same workflow file. Between that time, clang and
# openmp were upgraded. clang-openmp went from 17.0.6-1 to 18.1.1-1, and
# clang itself went from 17.0.6-7 to 18.1.1-3. Nothing else changed, so
# it must be a problem with the github runner (changed from 2.313.0 to
# 2.314.1). So for now, CLANG32 is excluded from this CI test.

matrix:
msystem: [MINGW64, MINGW32, CLANG64, CLANG32]
# CLANG32 disabled for now:
# msystem: [MINGW64, MINGW32, CLANG64, CLANG32]
msystem: [MINGW64, MINGW32, CLANG64]
include:
- msystem: MINGW64
target-prefix: mingw-w64-x86_64
Expand All @@ -310,10 +320,11 @@ jobs:
- msystem: CLANG64
target-prefix: mingw-w64-clang-x86_64
f77-package: mingw-w64-clang-x86_64-fc
- msystem: CLANG32
target-prefix: mingw-w64-clang-i686
# There's no Fortran compiler for this environment.
f77-package: mingw-w64-clang-i686-cc
# CLANG32 disabled for now:
# - msystem: CLANG32
# target-prefix: mingw-w64-clang-i686
# # There's no Fortran compiler for this environment.
# f77-package: mingw-w64-clang-i686-cc

env:
CHERE_INVOKING: 1
Expand Down Expand Up @@ -348,7 +359,7 @@ jobs:
msystem: ${{ matrix.msystem }}

- name: checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: prepare ccache
# create key with human readable timestamp
Expand All @@ -360,7 +371,7 @@ jobs:

- name: restore ccache
# Setup the GitHub cache used to maintain the ccache from one job to the next
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: ${{ steps.ccache-prepare.outputs.ccachedir }}
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down Expand Up @@ -425,7 +436,7 @@ jobs:
- name: save ccache
# Save the cache after we are done (successfully) building
# This helps to retain the ccache even if the subsequent steps are failing.
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ${{ steps.ccache-prepare.outputs.ccachedir }}
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
sysctl machdep

- name: checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: install dependencies
# Homebrew's Python conflicts with the Python that comes pre-installed
Expand All @@ -61,7 +61,7 @@ jobs:

- name: restore ccache
# setup the GitHub cache used to maintain the ccache from one job to the next
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: /Users/runner/Library/Caches/ccache
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down Expand Up @@ -192,7 +192,7 @@ jobs:
- name: save ccache
# Save the cache after we are done (successfully) building
# This helps to retain the ccache even if the subsequent steps are failing.
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: /Users/runner/Library/Caches/ccache
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down
59 changes: 44 additions & 15 deletions .github/workflows/root-cmakelists.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:
run: lscpu

- name: checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: install dependencies
env:
Expand All @@ -101,7 +101,7 @@ jobs:

- name: restore ccache
# setup the GitHub cache used to maintain the ccache from one job to the next
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: ~/.ccache
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down Expand Up @@ -135,6 +135,22 @@ jobs:
ccache -s
echo "/usr/lib/ccache" >> $GITHUB_PATH

- name: check auto-dependency resolution
# no need to check this with all runners. One is enough.
if: ${{ matrix.cc == 'gcc' && matrix.cuda == 'without' }}
run: |
mkdir -p ${GITHUB_WORKSPACE}/build-dep && cd ${GITHUB_WORKSPACE}/build-dep
IFS=':' read -r -a libs <<< "${INSTALLED_LIBS}"
for lib in "${libs[@]}"; do
printf "::group:: \033[0;32m==>\033[0m Configuring to build only \033[0;32m${lib}\033[0m\n"
cmake --fresh \
-DCMAKE_BUILD_TYPE="Release" \
-DBLA_VENDOR="OpenBLAS" \
-DSUITESPARSE_ENABLE_PROJECTS="${lib,,}" \
..
echo "::endgroup::"
done

- name: configure
run: |
mkdir -p ${GITHUB_WORKSPACE}/build && cd ${GITHUB_WORKSPACE}/build
Expand Down Expand Up @@ -174,7 +190,7 @@ jobs:
- name: save ccache
# Save the cache after we are done (successfully) building.
# This helps to retain the ccache even if the subsequent steps are failing.
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ~/.ccache
key: ${{ steps.ccache-prepare.outputs.key }}
Expand Down Expand Up @@ -273,7 +289,7 @@ jobs:
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
runs-on: windows-latest

name: msvc (${{ matrix.openmp }} OpenMP ${{ matrix.cuda }} CUDA, ${{ matrix.link }})
name: msvc (${{ matrix.cc }} ${{ matrix.openmp }} OpenMP ${{ matrix.cuda }} CUDA, ${{ matrix.link }})

defaults:
run:
Expand All @@ -288,6 +304,7 @@ jobs:
openmp: [with, without]
cuda: [without]
link: [both]
cc: [cl]
include:
- openmp: without
openmp-cmake-flags: "-DSUITESPARSE_USE_OPENMP=OFF"
Expand All @@ -297,6 +314,7 @@ jobs:
-DSUITESPARSE_USE_CUDA=ON
-DCMAKE_CUDA_COMPILER_LAUNCHER="ccache"
link: both
cc: cl
- openmp: with
cuda: with
cuda-cmake-flags:
Expand All @@ -306,6 +324,11 @@ jobs:
link-cmake-flags:
-DBUILD_SHARED_LIBS=OFF
-DBUILD_STATIC_LIBS=ON
cc: cl
- openmp: with
cuda: without
link: both
cc: clang-cl

env:
CHERE_INVOKING: 1
Expand All @@ -317,15 +340,15 @@ jobs:
Get-CIMInstance -Class Win32_Processor | Select-Object -Property Name

- name: checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v2
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true

- name: cache conda packages
id: conda-cache
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: C:/Miniconda/envs/test
key: conda:msvc
Expand Down Expand Up @@ -361,7 +384,7 @@ jobs:

msystem: UCRT64

- uses: Jimver/[email protected].11
- uses: Jimver/[email protected].14
name: install CUDA toolkit
if: matrix.cuda == 'with'
id: cuda-toolkit
Expand Down Expand Up @@ -401,18 +424,18 @@ jobs:
shell: msys2 {0}
run: |
echo "ccachedir=$(cygpath -m $(${CCACHE} -k cache_dir))" >> $GITHUB_OUTPUT
echo "key=ccache:msvc:root:${{ matrix.openmp }}:${{ matrix.cuda }}:${{ matrix.link }}:${{ github.ref }}:$(date +"%Y-%m-%d_%H-%M-%S"):${{ github.sha }}" >> $GITHUB_OUTPUT
echo "key=ccache:msvc:root:${{ matrix.cc }}:${{ matrix.openmp }}:${{ matrix.cuda }}:${{ matrix.link }}:${{ github.ref }}:$(date +"%Y-%m-%d_%H-%M-%S"):${{ github.sha }}" >> $GITHUB_OUTPUT

- name: restore ccache
# Setup the GitHub cache used to maintain the ccache from one job to the next
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: ${{ steps.ccache-prepare.outputs.ccachedir }}
key: ${{ steps.ccache-prepare.outputs.key }}
# Prefer caches from the same branch. Fall back to caches from the dev branch.
restore-keys: |
ccache:msvc:root:${{ matrix.openmp }}:${{ matrix.cuda }}:${{ matrix.link }}:${{ github.ref }}
ccache:msvc:root:${{ matrix.openmp }}:${{ matrix.cuda }}:${{ matrix.link }}:
ccache:msvc:root:${{ matrix.cc }}:${{ matrix.openmp }}:${{ matrix.cuda }}:${{ matrix.link }}:${{ github.ref }}
ccache:msvc:root:${{ matrix.cc }}:${{ matrix.openmp }}:${{ matrix.cuda }}:${{ matrix.link }}:

- name: configure ccache
# Limit the maximum size and switch on compression to avoid exceeding the total disk or cache quota.
Expand All @@ -435,6 +458,8 @@ jobs:
fi
mkdir -p ${GITHUB_WORKSPACE}/build && cd ${GITHUB_WORKSPACE}/build
cmake -G"Ninja Multi-Config" \
-DCMAKE_C_COMPILER=${{ matrix.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cc }} \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_INSTALL_PREFIX=".." \
-DCMAKE_PREFIX_PATH="C:/Miniconda/envs/test/Library;${GITHUB_WORKSPACE}/dependencies" \
Expand Down Expand Up @@ -476,7 +501,7 @@ jobs:
- name: save ccache
# Save the cache after we are done (successfully) building
# This helps to retain the ccache even if the subsequent steps are failing.
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ${{ steps.ccache-prepare.outputs.ccachedir }}
key: ${{ steps.ccache-prepare.outputs.key }}
Expand All @@ -497,7 +522,9 @@ jobs:
run: |
cd ${GITHUB_WORKSPACE}/Example/build
printf "::group::\033[0;32m==>\033[0m Configuring example\n"
cmake \
cmake -G"Ninja Multi-Config" \
-DCMAKE_C_COMPILER=${{ matrix.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cc }} \
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/lib/cmake;C:/Miniconda/envs/test/Library;${GITHUB_WORKSPACE}/dependencies" \
-DBLA_VENDOR="All" \
${{ matrix.openmp-cmake-flags }} \
Expand Down Expand Up @@ -533,7 +560,9 @@ jobs:
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 \
cmake -G"Ninja Multi-Config" \
-DCMAKE_C_COMPILER=${{ matrix.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cc }} \
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/lib/cmake;C:/Miniconda/envs/test/Library;${GITHUB_WORKSPACE}/dependencies" \
..
cmake --build . --config Release
Expand Down
10 changes: 5 additions & 5 deletions AMD/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@

cmake_minimum_required ( VERSION 3.22 )

set ( AMD_DATE "Jan 10, 2024" )
set ( AMD_DATE "Mar 22, 2024" )
set ( AMD_VERSION_MAJOR 3 CACHE STRING "" FORCE )
set ( AMD_VERSION_MINOR 3 CACHE STRING "" FORCE )
set ( AMD_VERSION_SUB 1 CACHE STRING "" FORCE )
set ( AMD_VERSION_SUB 2 CACHE STRING "" FORCE )

message ( STATUS "Building AMD version: v"
${AMD_VERSION_MAJOR}.
Expand Down Expand Up @@ -49,10 +49,10 @@ endif ( )
#-------------------------------------------------------------------------------

if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
find_package ( SuiteSparse_config 7.5.0
find_package ( SuiteSparse_config 7.7.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
find_package ( SuiteSparse_config 7.7.0 REQUIRED )
endif ( )
endif ( )

Expand Down Expand Up @@ -113,7 +113,7 @@ if ( BUILD_STATIC_LIBS )
OUTPUT_NAME amd
PUBLIC_HEADER "Include/amd.h" )

if ( MSVC )
if ( MSVC OR ("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC") )
set_target_properties ( AMD_static PROPERTIES
OUTPUT_NAME amd_static )
endif ( )
Expand Down
4 changes: 2 additions & 2 deletions AMD/Config/amd.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -392,8 +392,8 @@ void amd_version (int version [3]) ;

#define AMD__VERSION SUITESPARSE__VERCODE(@AMD_VERSION_MAJOR@,@AMD_VERSION_MINOR@,@AMD_VERSION_SUB@)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "AMD @AMD_VERSION_MAJOR@.@AMD_VERSION_MINOR@.@AMD_VERSION_SUB@ requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,7,0))
#error "AMD @AMD_VERSION_MAJOR@.@AMD_VERSION_MINOR@.@AMD_VERSION_SUB@ requires SuiteSparse_config 7.7.0 or later"
#endif

#endif
6 changes: 3 additions & 3 deletions AMD/Demo/amd_demo.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD version 3.3.1, date: Jan 10, 2024
AMD version 3.3.2, date: Mar 22, 2024
AMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:

AMD version 3.3.1, Jan 10, 2024: approximate minimum degree ordering
AMD version 3.3.2, Mar 22, 2024: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
Expand Down Expand Up @@ -115,7 +115,7 @@ Plot of input matrix pattern:
23: . . . . . . X . . . . X X . . . . . . . . . . X
return value from amd_order: 0 (should be 0)

AMD version 3.3.1, Jan 10, 2024, results:
AMD version 3.3.2, Mar 22, 2024, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
Expand Down
Loading
Loading