Hacker News new | ask | show | jobs
by mratsim 813 days ago
Author here,

Nim supports variadic generic, it's an arbitrary limitation so that shape and stride small vectors that describe a tebsor can be stack-allocated and fit in a cacheline.

Also at the time, Nim default heap allocator was not compatible with OpenMP.

Edit: it can be configured via a compile-time flag to 8 or 10 or anything: https://github.com/mratsim/Arraymancer/blob/master/src%2Farr...

2 comments

6 dimensions is sufficient for a dataset of 3d hyperspectral video (batch, time, x, y, z, channels). I think it wil cover the vast majority of usecases :D
That was my reasoning for this "restriction".
I've never worked with a project with more than 7 dimensions, yet
What would be the 7 dimensions?