Code Monkey home page Code Monkey logo

Comments (11)

mloubout avatar mloubout commented on July 26, 2024 1

Looks like afdm.jl was setup with stdout output ('Fo = Madagascar.sf_output("out")'). I have changed it to a file to make sure it doesn't blow up the log.

You can see here the log is now fine

from src.

deckerla avatar deckerla commented on July 26, 2024

Love this idea
To elaborate, having Madagascar.jl as a registered Julia package would make package management / dependency issues significantly simpler if we were doing deployment of Madagascar functionality on cloud instances.
I haven't really tried that with m8r.jl. It may work well, but I just have limited knowledge & experience using the Julia Madagascar wrapping.
Using Madagascar.jl it should also be straightforward to package Madagascar operators as Jets and use them within the COFII framework.

from src.

mloubout avatar mloubout commented on July 26, 2024

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

RSF_jll
Madagascar.jl

from src.

sfomel avatar sfomel commented on July 26, 2024

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

from src.

mloubout avatar mloubout commented on July 26, 2024

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

from src.

deckerla avatar deckerla commented on July 26, 2024

from src.

mloubout avatar mloubout commented on July 26, 2024

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 julia afdm.jl. (Test results there)

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 afdm to check correct solution as well.

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

from src.

tmasthay avatar tmasthay commented on July 26, 2024

It appears to me that while the CI tests pass for Madagascar.jl, the wrapper for sf_floatwrite will dump the binary content into the terminal.

See the Run tests workflow at this link to see this behavior. It is a fork with a single empty commit to reproduce the latest CI run (last one was deleted due to GitHub storage timeout). You will have to scroll down to line 416 of the output to see the beginning of the binary dump.

I suspect that the issue lies in the wrapper for sf_floatwrite. If I simply comment out the writing to the file when running julia afdm.jl, then the binary dumping does not occur (of course, neither does writing to an rsf file). I have also adding some debugging info at this link for reference. The same behavior takes place in run_tests.jl for me.

Finally, I would just like to note that at each iteration of the time-stepping loop of afdm.jl, the length of the binary dump gets larger and larger, so it does seem to be writing the information correctly. Furthermore, on the first iteration, the header information of the rsf is printed to stdout as well.

from src.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.