Krylov.jl icon indicating copy to clipboard operation
Krylov.jl copied to clipboard

Add a C interface for Krylov.jl with shared libraries

Open amontoison opened this issue 4 years ago • 4 comments

@dpo Since the JuliaCon 2021, PackageCompiler.jl is able to generate shared libraries for Julia packages. I tested it with three Krylov methods (CG, LSMR and CRAIG). It's a basic interface but it works fine and could be a nice feature if we do an article about Krylov.jl before the end of the thesis.

amontoison avatar Aug 11 '21 20:08 amontoison

Codecov Report

Merging #403 (6316e3f) into main (f4c83b1) will decrease coverage by 0.02%. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #403      +/-   ##
==========================================
- Coverage   97.52%   97.50%   -0.03%     
==========================================
  Files          32       32              
  Lines        4370     4448      +78     
==========================================
+ Hits         4262     4337      +75     
- Misses        108      111       +3     
Impacted Files Coverage Δ
src/lsqr.jl 98.26% <0.00%> (-1.74%) :arrow_down:
src/cgls.jl 100.00% <0.00%> (ø)
src/cgne.jl 100.00% <0.00%> (ø)
src/crls.jl 100.00% <0.00%> (ø)
src/crmr.jl 100.00% <0.00%> (ø)
src/dqgmres.jl 100.00% <0.00%> (ø)
src/minres_qlp.jl 100.00% <0.00%> (ø)
src/krylov_solvers.jl 100.00% <0.00%> (ø)
src/diom.jl 94.39% <0.00%> (+0.45%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update f4c83b1...6316e3f. Read the comment docs.

codecov[bot] avatar Aug 11 '21 20:08 codecov[bot]

Package name latest stable
CaNNOLeS.jl
DCI.jl
JSOSolvers.jl
Percival.jl

github-actions[bot] avatar Aug 11 '21 20:08 github-actions[bot]

That's really interesting. It looks like a significant amount of new code...

The inevitable question is going to be: how does the performance compare to that of a pure C implementation?

dpo avatar Aug 11 '21 20:08 dpo

That's really interesting. It looks like a significant amount of new code... The inevitable question is going to be: how does the performance compare to that of a pure C implementation?

If it's well precompiled, It should be competitive with a pure C implementation. We need an intern :)

amontoison avatar Aug 11 '21 20:08 amontoison

It will be a lot of work to support a C interface... I close this pull request.

amontoison avatar Aug 31 '22 18:08 amontoison