Arraymancer
nimble
Our great sponsors
Arraymancer | nimble | |
---|---|---|
21 | 9 | |
1,304 | 1,228 | |
- | 1.1% | |
8.2 | 8.2 | |
7 days ago | 5 days ago | |
Nim | Nim | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
Arraymancer
-
Arraymancer – Deep Learning Nim Library
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 !
-
Go, Python, Rust, and production AI applications
Nim has also a powerful deep learning library called Arraymancer. It's selling point is that you don't have to rewrite your code from research to production. It's used in various machine learning projects, but one recent one that caught my eye was https://github.com/amkrajewski/nimCSO "Composition Space Optimization"
https://github.com/mratsim/Arraymancer
-
D Programming Language
- https://github.com/mratsim/Arraymancer/blob/master/src/array...
It's worth noting that nim async/await transformation is fully implemented as a library in macros.
- Prospects of utilising Nim in scientific computation?
-
How to write performant Nim?
https://github.com/mratsim/Arraymancer 11. « Premature optimisation is the root of all evil », Donald Knuth, The art of computer Programming It would be quite useful that someone writes one with examples for all these recommendations and more ...
-
Deeplearning in Nim?
In particular for deep learning as bobsyourunkl already mentioned there is arraymancer on the one hand and also flambeau on the other. The latter is a Nim wrapper around libtorch (i.e. the PyTorch C++ backend). It is missing things (to be wrapped by adding a few lines) and has some rough edges, but if one needs to get stuff done, it's possible.
-
Mastering Nim – now available on Amazon
how are u compiling (optimization, custom compilation flags etc.?) In my case https://github.com/mratsim/Arraymancer big project compile under your 4.2s so or you have like 10k+ lines of codes with macros or you just pass some debug flags to compiler :D
- Nim Version 1.6.6 Released
- The counter-intuitive rise of Python in scientific computing (2020)
-
Computer Programming with Nim
We have both raw wrappers for BLAS:
https://github.com/andreaferretti/nimblas
as well as LAPACK:
https://github.com/andreaferretti/nimlapack
For an example, consider calling the least squares routine `dgelsd` in arraymancer:
https://github.com/mratsim/Arraymancer/blob/master/src/array...
wrapped up in a nicer user facing API.
Feel free to hop onto matrix, if you have more questions!
nimble
-
Ask HN: What are some unpopular technologies you wish people knew more about?
I was using Nim for some of last years Advent of Code problems. I was mostly liking the syntax. Was a bit bother by the standard library have a snake case and camel case reference for each function (if I'm remember that correctly).
At the time nimble also required me to have NPM to install the the Nim package manager, Nimble. This was not ideal, but looking at [the nimble project install docs](https://github.com/nim-lang/nimble#installation) it seems like it is now package with the language.
Might try dusting it off for some AoC puzzles this year :)
-
My Nim Development Weekly Report (2/19)
nimble develop -g doesn't work A possible solution is to add "g" to where "global" is placed.
- nimble run --example (PR)
-
Question about nimble
I meant it's unfortunate that Nimble has no standard system-wide library management. It's one of the mains thing holding Nim back from being more prevalent in the Linux sphere in my opinion.
-
Alternative privacy-respecting front ends for popular services
`nimble` is the package manager for the programming language `nim` [1].
From [2], we can see that `nimble scss` simply generates the CSS files for the frontend.
The benefit of OSS is you can answer these questions yourself with a bit of poking around! IMO this is a fairly standard installation process, maybe the fact that it's using Nim instead of a more mainstream language makes it look more daunting than it is. The only out-of-the-ordinary thing here, IMO, is `nimble build` instead of `make build`.
[1]: https://github.com/nim-lang/nimble
[2]: https://github.com/zedeus/nitter/blob/master/nitter.nimble
-
Nim 1.6.2
Something I'm excited about: v1.6.2 integrates support for (not yet released) Nimble[1] v0.14, which introduces lockfiles. I've had terrible experiences with lockfiles in JS land, but they are sorely needed for Nim projects as (fingers crossed) they'll allow for reproducible builds without having to resort to the nimbus-build-system[2]. The latter isn't completely horrible — a lot of much appreciated hard work has gone into it, and it's been a real workhorse — but some days it feels like a big ball and chain.
[1] https://github.com/nim-lang/nimble#nimble
[2] https://github.com/status-im/nimbus-build-system
-
What are some anti features in a language?
So you wouldn't have a problem with a package manager where the configuration is in the same language, such as Nimble?
-
What best IDE/editor for NIM now.
if you structure your project with nimble (which can be be used for both libraries and applications) you can use nimble build and nimble run. While I do use nimble for managing dependencies for projects I don't use these commands that often while developing, e.g. because I'm working on a single test or something like that.
-
Using Ruby
Having similar syntax to Ruby makes it easier to port Ruby code to Crystal (ex: digest-crc -> digest-crc.cr). The Crystal stdlib is very complete and they have a growing "shards" ecosystem, roughly the same age as Rust's https://crates.io or Nim's nimble. You should look into Crystal again.
What are some alternatives?
nimtorch - PyTorch - Python + Nim
prologue - Powerful and flexible web framework written in Nim
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
nimlsp - Language Server Protocol implementation for Nim
awesome-tensor-compilers - A list of awesome compiler projects and papers for tensor computation and deep learning.
nitter - Alternative Twitter front-end
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
nim-zmq - Nim ZMQ wrapper
omni - DSL for low-level audio programming.
application - Buckets Desktop Application
jitter - give the finger to git clone