-
Notifications
You must be signed in to change notification settings - Fork 174
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
Registerd binary wrapper and julia package #289
Comments
Love this idea |
The good news is that it seems to pass all the test nicely on ubuntu so that's a great start. The main thing is that it would basically avoid the massive work to compile it and have a nice portable framework with all the libs and executables. Yes wrapping it in Jets/JOLI/LinearMaps/.... would be a really nice extra as well. Waiting for the jll to be merged and I'll register the initial POC version of Madagascar in general registry once I fxed the docstrings. Binaries |
Please compare with the old interface to show how this improves it https://reproducibility.org/blog/2015/09/28/julia/ The wave propagation example https://github.com/ahay/src/blob/master/api/julia/test/afdm.jl is tested in book/rsf/rsf/afdm https://github.com/ahay/src/blob/master/book/rsf/rsf/afdm/SConstruct |
The interface is the same the difference is that the actual libraries and executable are wrapped into Julia binaries so that it can be installed directly from Julia as a standardized Julia package It's also automatically tested so I'll make sure to add those |
This means that using the already compiled Madagascar libraries is as simple as
using Pkg
Pkg.add(“Madagascar”)
Downside in relation to m8r.jl is that if the underlying c code changes the _jll have to be recompiled, so it works better for stable code rather than development.
That said, it makes using established Madagascar utilities significantly easier and faster than installing Madagascar regularly.
Sent from my iPhoneOn Apr 24, 2023, at 5:45 PM, Mathias Louboutin ***@***.***> wrote:
The interface is the same the difference is that the actual libraries and executable are wrapped into Julia binaries so that it can be installed directly from Julia as a standardized Julia package
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Ok so Madagascar_jll) is now registered, i,e the precompiled sources only Madagascar.jl now setup with it a tested with CI including the afdm example above revamped for the new interface so you can just run Working on adding support for additional platform but looks like a good start and will probably register it fairly soon. Probably gonna compute some reference values for It can be simply installed as ] add https://github.com/mloubout/Madagascar.jl on a linux system and won't need any other installation steps |
It appears to me that while the CI tests pass for See the I suspect that the issue lies in the wrapper for Finally, I would just like to note that at each iteration of the time-stepping loop of |
Looks like You can see here the log is now fine |
@mloubout I am trying to build a GitHub Action that checks against the executables listed in Attached here is a workflow that shows how I built Madagascar from source (what I believe to be essentially a carbon copy of the workflow from Some executables listed like |
Hi @tmasthay . Thanks for reaching out. As you pointed out I haven't really looked at this in a bit, there is PR opened I need to finish on Yggdrasil that add supports for more architectures as well you might wanna look at. For the list of executable, I don't remember how I generated that list, I think I made a basic bash script that read the content of the bin dir but might have ran it on a broken install so I wouldn't be surprised if there is missing ones in the current released version. Ideally that by-hand list should be replaced by a I'll see if I can find some time next week to cleanup the PR and if there is extra details I can share. |
@mloubout TLDR on the pull request: to do from source, use |
Hi
Since we SLIM work a lot in julia and some external user could be interested, I have created a julia native wrapper for rsf which consist of:
RSF_jll
a Julia binary library with rsf libs and programmed precompiled so that it can be added and installed in a second. I was only able to configure it for a couple of architecture but would like to extend it. PR at New Recipe: RSF v1.0.0 JuliaPackaging/Yggdrasil#6627m8r.jl
. still few bugs to fix but mostly there.So was just wondering if it's something you are fine with and/or interested in.
Cheers
The text was updated successfully, but these errors were encountered: