Skip to content

Commit 5f52721

Browse files
authored
Update wrappers for SuiteSparse 7.8.3 (JuliaSparse#593)
Also update the generator.jl script to accept an optional command line argument for the location of the artifact directory. Example: ``` ➜ gen git:(main) ✗ julia --project generator.jl /Users/viral/.julia/artifacts/7573fd8cb3cd69e26208ccce9d01d4df5a66d45c ``` --------- Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com>
1 parent c575811 commit 5f52721

File tree

4 files changed

+52
-21
lines changed

4 files changed

+52
-21
lines changed

gen/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
1. update `SuiteSparse_jll` in Yggdrasil to the desired version
99
2. `cd` to this directory
10-
3. run `julia --project` and then in the Julia REPL, run `pkg>add SuiteSparse_jll#<COMMIT_HASH>`, where `<COMMIT_HASH>` is the commit hash corresponding to the desired version of the package
10+
3. run `julia --project generator.jl <SuiteSparse artifact directory>`
1111

1212
## How to upgrade Clang.jl
1313

gen/generator.jl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,16 @@ using JuliaFormatter
1111
cd(@__DIR__)
1212

1313
# headers
14-
include_dir = joinpath(SuiteSparse_jll.artifact_dir, "include", "suitesparse") |> normpath
14+
if length(ARGS) == 0
15+
artifact_dir = SuiteSparse_jll.artifact_dir
16+
else
17+
if isdir(ARGS[1])
18+
artifact_dir = ARGS[1]
19+
else
20+
error("Usage: $PROGRAM_FILE <SuiteSparse artifact directory>")
21+
end
22+
end
23+
include_dir = joinpath(artifact_dir, "include", "suitesparse") |> normpath
1524

1625
cholmod_h = joinpath(include_dir, "cholmod.h")
1726
@assert isfile(cholmod_h)

gen/generator.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ output_ignorelist = [
3939
"CHOLMOD_ASSEMBLE_TIME",
4040
"CHOLMOD_ASSEMBLE_TIME2",
4141
"SuiteSparse_long_idd",
42+
"SUITESPARSE_CONFIG_TIMER",
4243
"SUITESPARSE_COMPILER_MAJOR",
4344
"SUITESPARSE_COMPILER_MINOR",
4445
"SUITESPARSE_COMPILER_SUB",

src/solvers/wrappers.jl

Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,27 @@ function SuiteSparse_BLAS_integer_size()
155155
@ccall libsuitesparseconfig.SuiteSparse_BLAS_integer_size()::Csize_t
156156
end
157157

158+
@enum cholmod_query_t::UInt32 begin
159+
CHOLMOD_QUERY_HAS_GPL = 0
160+
CHOLMOD_QUERY_HAS_CHECK = 1
161+
CHOLMOD_QUERY_HAS_CHOLESKY = 2
162+
CHOLMOD_QUERY_HAS_CAMD = 3
163+
CHOLMOD_QUERY_HAS_PARTITION = 4
164+
CHOLMOD_QUERY_HAS_MATRIXOPS = 5
165+
CHOLMOD_QUERY_HAS_MODIFY = 6
166+
CHOLMOD_QUERY_HAS_SUPERNODAL = 7
167+
CHOLMOD_QUERY_HAS_CUDA = 8
168+
CHOLMOD_QUERY_HAS_OPENMP = 9
169+
end
170+
171+
function cholmod_query(feature)
172+
@ccall libcholmod.cholmod_query(feature::cholmod_query_t)::Bool
173+
end
174+
175+
function cholmod_l_query(feature)
176+
@ccall libcholmod.cholmod_l_query(feature::cholmod_query_t)::Bool
177+
end
178+
158179
struct cholmod_method_struct
159180
lnz::Cdouble
160181
fl::Cdouble
@@ -3343,19 +3364,19 @@ const CHOLMOD_INT = 0
33433364

33443365
const CHOLMOD_LONG = 2
33453366

3346-
const CHOLMOD_DATE = "Mar 22, 2024"
3367+
const CHOLMOD_DATE = "June 20, 2024"
33473368

33483369
const CHOLMOD_MAIN_VERSION = 5
33493370

3350-
const CHOLMOD_SUB_VERSION = 2
3371+
const CHOLMOD_SUB_VERSION = 3
33513372

3352-
const CHOLMOD_SUBSUB_VERSION = 1
3373+
const CHOLMOD_SUBSUB_VERSION = 0
33533374

33543375
SUITESPARSE_VER_CODE(main, sub) = main * 1000 + sub
33553376

33563377
CHOLMOD_VER_CODE(main, sub) = SUITESPARSE_VER_CODE(main, sub)
33573378

3358-
const CHOLMOD_VERSION = CHOLMOD_VER_CODE(5, 2)
3379+
const CHOLMOD_VERSION = CHOLMOD_VER_CODE(5, 3)
33593380

33603381
const _FILE_OFFSET_BITS = 64
33613382

@@ -3383,23 +3404,23 @@ const SUITESPARSE_COMPILER_XLC = 0
33833404

33843405
const SUITESPARSE_TIME = SuiteSparse_time()
33853406

3386-
const SUITESPARSE_DATE = "Mar 22, 2024"
3407+
const SUITESPARSE_DATE = "Oct 10, 2024"
33873408

33883409
const SUITESPARSE_MAIN_VERSION = 7
33893410

3390-
const SUITESPARSE_SUB_VERSION = 7
3411+
const SUITESPARSE_SUB_VERSION = 8
33913412

3392-
const SUITESPARSE_SUBSUB_VERSION = 0
3413+
const SUITESPARSE_SUBSUB_VERSION = 3
33933414

3394-
const SUITESPARSE_VERSION = SUITESPARSE_VER_CODE(7, 7)
3415+
const SUITESPARSE_VERSION = SUITESPARSE_VER_CODE(7, 8)
33953416

33963417
function SUITESPARSE__VERCODE(main, sub, patch)
33973418
return (main * Culonglong(1000) + sub) * Culonglong(1000) + patch
33983419
end
33993420

3400-
const SUITESPARSE__VERSION = SUITESPARSE__VERCODE(7, 7, 0)
3421+
const SUITESPARSE__VERSION = SUITESPARSE__VERCODE(7, 8, 3)
34013422

3402-
const CHOLMOD__VERSION = SUITESPARSE__VERCODE(5, 2, 1)
3423+
const CHOLMOD__VERSION = SUITESPARSE__VERCODE(5, 3, 0)
34033424

34043425
const CHOLMOD_DEVICE_SUPERNODE_BUFFERS = 6
34053426

@@ -3541,19 +3562,19 @@ const SPQR_RTX_EQUALS_B = 2
35413562

35423563
const SPQR_RTX_EQUALS_ETB = 3
35433564

3544-
const SPQR_DATE = "Mar 22, 2024"
3565+
const SPQR_DATE = "June 20, 2024"
35453566

35463567
const SPQR_MAIN_VERSION = 4
35473568

35483569
const SPQR_SUB_VERSION = 3
35493570

3550-
const SPQR_SUBSUB_VERSION = 3
3571+
const SPQR_SUBSUB_VERSION = 4
35513572

35523573
SPQR_VER_CODE(main, sub) = SUITESPARSE_VER_CODE(main, sub)
35533574

35543575
const SPQR_VERSION = SPQR_VER_CODE(4, 3)
35553576

3556-
const SPQR__VERSION = SUITESPARSE__VERCODE(4, 3, 3)
3577+
const SPQR__VERSION = SUITESPARSE__VERCODE(4, 3, 4)
35573578

35583579
const AMD_CONTROL = 5
35593580

@@ -3603,37 +3624,37 @@ const AMD_INVALID = -2
36033624

36043625
const AMD_OK_BUT_JUMBLED = 1
36053626

3606-
const AMD_DATE = "Mar 22, 2024"
3627+
const AMD_DATE = "June 20, 2024"
36073628

36083629
const AMD_MAIN_VERSION = 3
36093630

36103631
const AMD_SUB_VERSION = 3
36113632

3612-
const AMD_SUBSUB_VERSION = 2
3633+
const AMD_SUBSUB_VERSION = 3
36133634

36143635
AMD_VERSION_CODE(main, sub) = SUITESPARSE_VER_CODE(main, sub)
36153636

36163637
const AMD_VERSION = AMD_VERSION_CODE(3, 3)
36173638

3618-
const AMD__VERSION = SUITESPARSE__VERCODE(3, 3, 2)
3639+
const AMD__VERSION = SUITESPARSE__VERCODE(3, 3, 3)
36193640

36203641
const UMFPACK_INFO = 90
36213642

36223643
const UMFPACK_CONTROL = 20
36233644

3624-
const UMFPACK_DATE = "Mar 22, 2024"
3645+
const UMFPACK_DATE = "Sept 23, 2024"
36253646

36263647
const UMFPACK_MAIN_VERSION = 6
36273648

36283649
const UMFPACK_SUB_VERSION = 3
36293650

3630-
const UMFPACK_SUBSUB_VERSION = 3
3651+
const UMFPACK_SUBSUB_VERSION = 5
36313652

36323653
UMFPACK_VER_CODE(main, sub) = SUITESPARSE_VER_CODE(main, sub)
36333654

36343655
const UMFPACK_VER = UMFPACK_VER_CODE(6, 3)
36353656

3636-
const UMFPACK__VERSION = SUITESPARSE__VERCODE(6, 3, 3)
3657+
const UMFPACK__VERSION = SUITESPARSE__VERCODE(6, 3, 5)
36373658

36383659
const UMFPACK_STATUS = 0
36393660

0 commit comments

Comments
 (0)