Oceananigans.jl VS Clang.jl

Compare Oceananigans.jl vs Clang.jl and see what are their differences.

Oceananigans.jl

🌊 Julia software for fast, friendly, flexible, ocean-flavored fluid dynamics on CPUs and GPUs (by CliMA)

Clang.jl

C binding generator and Julia interface to libclang (by JuliaInterop)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Oceananigans.jl Clang.jl
4 2
875 216
1.6% 0.5%
9.5 8.3
5 days ago 4 days ago
Julia Julia
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Oceananigans.jl

Posts with mentions or reviews of Oceananigans.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-27.
  • Julia 1.10 Released
    15 projects | news.ycombinator.com | 27 Dec 2023
    I think it’s also the design philosophy. JuMP and ForwardDiff are great success stories and are packages very light on dependencies. I like those.

    The DiffEq library seems to pull you towards the SciML ecosystem and that might not be agreeable to everyone.

    For instance a known Julia project that simulates diff equations seems to have implemented their own solver

    https://github.com/CliMA/Oceananigans.jl

  • GPU vendor-agnostic fluid dynamics solver in Julia
    11 projects | news.ycombinator.com | 8 May 2023
    I‘m currently playing around with Oceananigans.jl (https://github.com/CliMA/Oceananigans.jl). Do you know how both are similar or different?

    Oceananigans.jl has really intuitive step-by-step examples and a great discussion page on GitHub.

  • Supercharged high-resolution ocean simulation with Jax
    5 projects | news.ycombinator.com | 5 Dec 2021

Clang.jl

Posts with mentions or reviews of Clang.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-27.
  • Julia 1.10 Released
    15 projects | news.ycombinator.com | 27 Dec 2023
    Are there solid C interfaces that can be used?

    A large part of why I started using Julia is because calling into other languages through the C FFI is pretty easy and efficient. Most of the wrappers are a single line. If there is not existing driver support, I would pass the C headers through Clang.jl, which automatically wraps the C API in a C header.

    https://github.com/JuliaInterop/Clang.jl

    I most recently did this with libtiff. Here is the Clang.jl code to generate the bindings. It's less than 30 lines of sterotypical code.

    https://github.com/mkitti/LibTIFF.jl/tree/main/gen

    The generated bindings with a few tweaks is here:

    https://github.com/mkitti/LibTIFF.jl/blob/main/src/LibTIFF.j...

  • A new C++ <-> Julia Wrapper: jluna
    4 projects | /r/Julia | 5 Feb 2022
    If you are interested in C++ interop you can also have a look at Clang.jl and CxxWrap.jl (the usual Julia package chaos applies, where the package mentioned in old talks and docs that you find on google is superseded by some others...)

What are some alternatives?

When comparing Oceananigans.jl and Clang.jl you can also consider the following projects:

MATDaemon.jl

CxxWrap.jl - Package to make C++ libraries available in Julia

FiniteDiff.jl - Fast non-allocating calculations of gradients, Jacobians, and Hessians with sparsity support

jluna - Julia Wrapper for C++ with Focus on Safety, Elegance, and Ease of Use

MITgcm - M.I.T General Circulation Model master code and documentation repository

Lux.jl - Explicitly Parameterized Neural Networks in Julia

Metal.jl - Metal programming in Julia

Torch.jl - Sensible extensions for exposing torch in Julia.

opendylan - Open Dylan compiler and IDE

LibTIFF.jl - Clang.jl generated wrapper around Libtiff_jll.jl

julia-ml-from-scratch - Machine learning from scratch in Julia

threads - Threads for Lua and LuaJIT. Transparent exchange of data between threads is allowed thanks to torch serialization.