Skip to content

Conversation

@amontoison
Copy link
Member

@ViralBShah
I updated the gen folder to use JuliaFormatter for the wrappers.
We use it for the wrappers of CUDA.jl, SparseMKL.jl, HSL.jl...

I also removed the wrappers of the ordering routines because we interfaced them in AMD.jl.

@codecov-commenter
Copy link

Codecov Report

Merging #379 (3748219) into main (53179e1) will not change coverage.
The diff coverage is n/a.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@           Coverage Diff           @@
##             main     #379   +/-   ##
=======================================
  Coverage   93.88%   93.88%           
=======================================
  Files          12       12           
  Lines        7472     7472           
=======================================
  Hits         7015     7015           
  Misses        457      457           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@ViralBShah ViralBShah merged commit 21f2503 into JuliaSparse:main Apr 3, 2023
@ViralBShah
Copy link
Member

ViralBShah commented Apr 3, 2023

@amontoison This is generating libxxx instead of libcholmod for some of the API calls to SuiteSparse_config stuff.

A couple of examples:

diff --git a/src/solvers/lib/aarch64-apple-darwin20.jl b/src/solvers/lib/aarch64
-apple-darwin20.jl
index fcf756d..6573f6f 100644
--- a/src/solvers/lib/aarch64-apple-darwin20.jl
+++ b/src/solvers/lib/aarch64-apple-darwin20.jl
@@ -1,137 +1,142 @@
 function SuiteSparse_config_printf_func_get()
-    @ccall libcholmod.SuiteSparse_config_printf_func_get()::Ptr{Cvoid}
+    @ccall libxxx.SuiteSparse_config_printf_func_get()::Ptr{Cvoid}
 end
 
 function SuiteSparse_config_malloc_func_get()
-    @ccall libcholmod.SuiteSparse_config_malloc_func_get()::Ptr{Cvoid}
+    @ccall libxxx.SuiteSparse_config_malloc_func_get()::Ptr{Cvoid}
 end

@amontoison
Copy link
Member Author

amontoison commented Apr 3, 2023

@ViralBShah
The functions defined in SuiteSparse_config.h are available inside each library libcholmod, libumfpack and libspqr. We can use libcholmod if we want to keep them and add library_name = "libcholmod" at the beginning of the file gen/generator.toml.

What I did for AMD.jl is to ignore these functions:

output_ignorelist = [
    "SuiteSparse_config_struct",
    "SuiteSparse_start",
    "SuiteSparse_finish",
    "SuiteSparse_malloc",
    "SuiteSparse_calloc",
    "SuiteSparse_realloc",
    "SuiteSparse_free",
    "SuiteSparse_tic",
    "SuiteSparse_toc",
    "SuiteSparse_time",
    "SuiteSparse_hypot",
    "SuiteSparse_divcomplex",
    "SuiteSparse_version",
    "SuiteSparse_long",
    "SuiteSparse_long_max",
    "SuiteSparse_long_idd",
    "SuiteSparse_long_id",
    "SUITESPARSE_DATE",
    "SUITESPARSE_VERSION",
    "SUITESPARSE_MAIN_VERSION",
    "SUITESPARSE_SUB_VERSION",
    "SUITESPARSE_SUBSUB_VERSION"
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants