Hacker GitHub

← All repos

mratsim/weave

View on GitHub ↗ ★ 587 Nim

A state-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead

30 mentions on Hacker News by 9 people: 1 story, 29 comments · first 2019-11-07 · latest 2025-03-04

Mentions per year 30 mentions · busiest year 2020 (18)
20082026
  1. …is the tooling, but even the tooling is still adequate. I'm glad it exists. Highly recommend. [1] https://github.com/mratsim/weave [2] https://github.com/Araq/malebolgia [3] https://github.com/nim-lang/nimony
  2. …know Python, because Nim's stdlib is heavily inspired by it. For multithreading in Nim see: Weave - https://github.com/mratsim/weave Malebolgia - https://github.com/Araq/malebolgia [0] - https://nim-lang.org
    comment by archargelod · 2024-03-12 · in gh-116167: Allow disabling the GIL
  3. GPU drivers provide an event system: - Cuda: https://github.com/mratsim/weave/issues/133 - OpenCL: https://github.com/mratsim/weave/issues/134
    comment by mratsim · 2024-02-14 · in Maybe Everything Is a Coroutine
  4. …I'll come back later with details on how to use my custom HPC threadpool Weave instead of OpenMP ( https://github.com/mratsim/weave/tree/master/benchmarks/matm... ). As a side bonus it also has parallel nqueens implemented.
  5. …thub.com/mratsim/laser/blob/master/benchmarks%2Fge... And using my own threadpool instead of OpenMP - https://github.com/mratsim/weave/issues/68#issuecomment-5692... - https://github.com/mratsim/weave/pull/94
  6. …Python in this context. You don't have to use Assembly. Case in point, this is as fast as OpenBLAS: https://github.com/mratsim/weave/tree/master/benchmarks/matm...
  7. In my benchmarks, Nim is faster than Rust: - multithreading runtime (i.e Rayon vs Weave https://github.com/mratsim/weave ) - Cryptography: https://hackmd.io/@gnark/eccbench#Pairing - Scientific computing / matrix multiplication:…
    comment by mratsim · 2022-02-10 · in Nim vs Rust Benchmarks
  8. …com/c-blake/cligen/blob/master/examples/grl.nim [3] https://news.ycombinator.com/item?id=24842648 [4] https://github.com/mratsim/weave
    comment by cb321 · 2021-05-15 · in Nim 2.0 thoughts
  9. …happened but the thread signaled wasn't unblocked. The futex<->condvar swap is pretty simple. - https://github.com/mratsim/weave/blob/f41a562/weave/cross_th...
    comment by mratsim · 2021-03-10 · in TLA+
  10. …compiled my research in formal verification tools and papers here, there are a couple dozens: - https://github.com/mratsim/weave/issues/18
    comment by mratsim · 2021-03-08 · in TLA+
  11. …for a couple weeks before deciding to learn formal verification / model checking via TLA+. Writeup: https://github.com/mratsim/weave/issues/56
    comment by mratsim · 2021-03-08 · in TLA+
  12. …* Ubuntu: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1899800 Also see https://github.com/mratsim/weave/pull/58/files
  13. …not a borrow checker, I've compiled my research and a RFC for Nim formal verification here: - https://github.com/mratsim/weave/issues/18 - https://github.com/nim-lang/RFCs/issues/222
    comment by mratsim · 2020-10-20 · in Nim 1.4
  14. …open architecture you can roll your own basis for what you want (more than most languages) such as: https://github.com/mratsim/weave
    comment by cb321 · 2020-10-16 · in Nim 1.4
  15. …xoshiro and seeding process that could take loop iteration variables [2] for reproducibility: - [1] https://github.com/mratsim/weave/issues/147 - [2] https://github.com/mratsim/trace-of-radiance/blob/99f7d85/tr... - Usage for parallel…
  16. …out of date. Most network libraries use async. Threads are possible, but weave looks promising: https://github.com/mratsim/weave
  17. I've written Weave for the Nim programming language: - https://github.com/mratsim/weave - RFC that describes the goals: https://github.com/nim-lang/RFCs/issues/160
  18. I didn't, however you can read my writeup and investigation attempts here: - https://github.com/mratsim/weave/issues/56 And the fix was directly using Linux futexes: - https://github.com/mratsim/weave/pull/58/files
  19. …the middle of many Microsoft papers[1] to add model checking to Nim, in particular CHESS.[2] [1]: https://github.com/mratsim/weave/issues/18 [2]: Finding and Reproducing Heisenbugs in Concurrent Programs,…
  20. …tend to dismiss those as if the borrow checker was the panacea to all multithreading problems. [1]: https://github.com/mratsim/weave [2]: https://github.com/mratsim/weave/issues/56 [3]: https://nim-lang.org/docs/drnim.html [4]:…
  21. …[5]: https://nim-lang.org/docs/drnim.html [6]: https://github.com/nim-lang/RFCs/issues/222 [7]: https://github.com/mratsim/weave/issues/56 And shameless plug, my talk at the NimConf on debugging multithreading programs (data structure and…
  22. …should, seems like the age of Dataflow parallelism and properly optimizing for data is coming. [1]: https://github.com/mratsim/weave#dataflow-parallelism [2]: https://github.com/taskflow/taskflow [3]: https://github.com/habanero-rice/hclib…
  23. …- Reaching and going beyond OpenBLAS + OpenMP performance (almost pure Assembly): https://github.com/mratsim/weave/issues/68#issuecomment-5717... - Faster than C++ on Raytracing bench: https://github.com/mratsim/weave/tree/9f0c384f/demos/ra
    comment by mratsim · 2020-06-20 · in NimConf 2020 Videos
  24. …and Araq isn't alone. For example multithreading has been delegated to the amazing mratsim: https://github.com/mratsim/weave . There are multiple people helping with the new move-semantics-based runtime:…
    comment by sp33der89 · 2020-05-28 · in Pros and Cons of Nim
  25. …to handle everything people can use a multithreading runtime for, same comparison on GEMM: https://github.com/mratsim/weave/tree/v0.4.0/benchmarks/matm... - More resources on the importance of memory bandwidth: optimization convolutions…
    comment by mratsim · 2020-04-22 · in A possible new back end for Rust
  26. …ML as well. [0] https://github.com/numforge/laser [1] https://github.com/mratsim/Arraymancer [2] https://github.com/mratsim/weave
    comment by gavinray · 2020-02-23 · in Nim Community Survey 2019 Results
  27. …macros from Nim, no difference from wrapping C: Example on wrapping a simple benchmark macro: - https://github.com/mratsim/weave/blob/052ae40a/experiments/e... - https://github.com/mratsim/weave/blob/052ae40a/experiments/e...
    comment by mratsim · 2020-02-19 · in Want to call C from Python? Use D
  28. …OpenMP and Intel TBB) that I've been benchmarking against, see memory subsystem details here: https://github.com/mratsim/weave/tree/master/weave/memory Example of atomic refcounting in this PR here: https://github.com/mratsim/weave/blob/025…
    comment by mratsim · 2020-01-06 · in Hobby x86 kernel written with Zig
  29. …at https://github.com/nim-lang/RFCs/issues/160 and the repo I'm currently building the runtime at https://github.com/mratsim/weave . Obviously I am biaised as a Nim dev that uses Nim for both work and hobby so I'd rather have others that…
    comment by mratsim · 2019-11-07 · in Async-await on stable Rust