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

Add support for cktso #392

Open
mzy2240 opened this issue Oct 16, 2023 · 6 comments
Open

Add support for cktso #392

mzy2240 opened this issue Oct 16, 2023 · 6 comments

Comments

@mzy2240
Copy link

mzy2240 commented Oct 16, 2023

https://github.com/chenxm1986/cktso

In my preliminary comparison, it is much faster than KLU on solving multi-vector rhs.

@ChrisRackauckas
Copy link
Member

That sounds like a good idea. Do you have a code using it from Julia? I don't know of a Julia wrapper.

@mzy2240
Copy link
Author

mzy2240 commented Oct 16, 2023

I am currently calling the C-API directly like this. From my experience it is quite straightforward to get it supported in Julia.

using CEnum

mutable struct __cktso_l_dummy end

const ICktSo_L = Ptr{__cktso_l_dummy}

const _libcktso = joinpath(dirname(@__FILE__),"libcktso_l.so")

function CKTSO_L_CreateSolver(inst, iparm, oparm)
    ccall((:CKTSO_L_CreateSolver, _libcktso), Cint, (Ptr{ICktSo_L}, Ptr{Ptr{Cint}}, Ptr{Ptr{Clonglong}}), inst, iparm, oparm)
end

@ChrisRackauckas
Copy link
Member

Could you try making a first version similar to https://github.com/SciML/LinearSolve.jl/blob/main/ext/LinearSolveMetalExt.jl ? I'd be happy to finish it, though I don't know how to set this solver up well, so your expertise of how to call it could help get this done quickly. Does this already have a Yggdrasil JLL?

@mzy2240
Copy link
Author

mzy2240 commented Oct 16, 2023

No it does not have a JLL yet. I don’t have any experience creating a JLL unfortunately.

@mzy2240
Copy link
Author

mzy2240 commented Oct 19, 2023

Also just saw this news from Dr. Davis: DrTimothyAldenDavis/SuiteSparse#448. Might worth to add the support for ParU since UMFPACK is already supported.

@ChrisRackauckas
Copy link
Member

oh that's great news. That should be a separate issue though.

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

No branches or pull requests

2 participants