Arraymancer – Deep Learning Nim Library

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. Arraymancer

    A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends

    It is a small DSL written using macros at https://github.com/mratsim/Arraymancer/blob/master/src/array....

    Nim has pretty great meta-programming capabilities and arraymancer employs some cool features like emitting cuda-kernels on the fly using standard templates depending on backend !

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. impulse

    Impulse will be a collection of primitives for signal processing (FFT, Convolutions, ...) (by SciNim)

    I am one of the Arraymancer contributors. I believe that what mratsim (Arraymancer’s creator) has done is pretty amazing but I agree that the scope is a quite ambitious. There’s been some talk about separating the deep learning bits into its own library (which I expect would be done in a backwards compatible way). Recently we worked on adding FFT support but instead of adding it to Arraymancer it was added to “impulse” (https://github.com/SciNim/impulse) which is a separate, signal processing focused library. There is also Vindaar’s datamancer (a pandas like dataframe library) and ggplotnim (a plotting library inspired by R’s ggplot). The combination of all of these libraries makes nim a very compelling language for signal processing, data science and ML.

    Personally I’d like Arraymancer to be a great tensor library (basically a very good and ideally faster alternative to numpy and base Matlab). Frankly I think that it’s nearly there already. I’ve been using Arraymancer to port a 5G physical layer simulator from Matlab to nim and it’s been a joy. It’s not perfect by any means but it’s already very good. And given how fast nim’s scientific ecosystem keeps improving it will only get much better.

  4. nimib

    nimib 🐳 - nim 👑 driven ⛵ publishing ✍

    Jupyter notebook is indeed very important. It mainly provides data scientists with two things: a literate programming environment (mixing text, code and outputs) and a way to hold state of data in memory (so that you can perform computation interactively).

    As a different take to literate programming we have created a library and an ecosystem around it: https://github.com/pietroppeter/nimib

    For holding state a Nim repl (which is on the roadmap as secondary priority after completing incremental compilation) is definitely an option.

    Another option could be to create a library framework for caching (or be able to serialize and deserialize quickly) large data and objects. One way to see it, could be to build something similar to streamlit cache (streamlit indeed provides great interactivity)

  5. jupyternim

    A Jupyter kernel for nim

    I just had a look, and there does seem to be a Jupyter kernel at https://github.com/stisa/jupyternim

  6. livebook

    Automate code & data workflows with interactive Elixir notebooks

  7. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: PlayBooks – Convert on-call documents into executable notebooks

    5 projects | news.ycombinator.com | 4 Jun 2024
  • Go, Python, Rust, and production AI applications

    4 projects | news.ycombinator.com | 12 Mar 2024
  • Prospects of utilising Nim in scientific computation?

    3 projects | /r/nim | 3 Jun 2023
  • A library for adding blogs, documentation, and other static pages in Phoenix apps

    2 projects | /r/elixir | 3 May 2023
  • AsciiDoc, Liquid and Jekyll

    4 projects | news.ycombinator.com | 24 Feb 2023

Did you know that Nim is
the 50th most popular programming language
based on number of references?