101 Commits

Author SHA1 Message Date
adrien
ceff8ff1bd Added everything to TensorAlloc 2026-05-25 22:52:27 +02:00
adrien
ff21f0ac8b Added all operation and test for TensorAlloc, missing slice 2026-05-25 18:18:35 +02:00
adrien
5ac9968021 Added back more test for TensorAlloc 2026-05-25 13:53:17 +02:00
adrien
8028cf41a5 Removed inline for TensorAlloc fn 2026-05-25 01:54:47 +02:00
adrien
0ef19e18de Working other base operation (sub, mul, div, ect) 2026-05-25 01:52:12 +02:00
adrien
7494595db4 Working TensorAlloc add 2026-05-25 01:44:09 +02:00
adrien
91c5c41fc5 Working comparaison for TensorAlloc 2026-05-24 21:23:20 +02:00
adrien
ba671ee486 Working basic eq between TensorAlloc 2026-05-24 18:40:14 +02:00
adrien
09d6ca1ff5 Renamed Tensor to TensorStatic 2026-05-23 10:29:57 +02:00
adrien
bcd888d59e Splited main.zig into lib and test.zig 2026-05-20 23:02:30 +02:00
adrien
63e9b6b63d Removed vs native benchmarks 2026-05-20 22:58:36 +02:00
adrien
5f833a5e58 Removed TensorAlloc and made TensorStatic back to just Tensor
Realized I can just do alloc.create instead of a all new struct
2026-05-15 00:46:22 +02:00
adrien
00e0f5ab73 Moved isTensor to shared + added isTensorAlloc/Static 2026-05-15 00:32:58 +02:00
adrien
f67e9d709d Working add TensorAlloc 2026-05-15 00:24:39 +02:00
adrien
e6d0f62929 TensorAlloc add and to compilable but still error for basic add test 2026-05-14 22:25:35 +02:00
adrien
f702c1e09a slice can now use null value like python [2:] 2026-05-14 10:56:26 +02:00
adrien
b959f5f28a Added slice to TensorStatic 2026-05-14 01:28:24 +02:00
adrien
6ba1e664c1 Started to add TensorAlloc 2026-05-14 00:53:05 +02:00
adrien
6559ed9f62 Removed comptime to parseSegment 2026-05-12 09:06:28 +02:00
adrien
55906e0ab7 Small fixs 2026-05-11 17:12:37 +02:00
adrien
7d28de2028 Removed comptime for str UnitParser 2026-05-04 23:55:00 +02:00
adrien
5bdc78c065 Simplified pow 2026-05-04 22:57:53 +02:00
adrien
18830c8b45 Fixed benchmark 2026-05-04 22:25:18 +02:00
adrien
4595397e70 Removed the feature where you can use comptime int or float ar rhs for operation 2026-05-04 22:10:55 +02:00
adrien
7844aacfce Added a UnitParser to get Dimensions and Scales from a str 2026-05-04 19:10:06 +02:00
adrien
4d275dca2d Renamed Tensor to TensorStatic to later introduce TensorAlloc and TensorGPU 2026-04-29 18:07:13 +02:00
adrien
9635cfb481 Changed self: Self to self: *const SElf in tensor for performance 2026-04-28 16:06:13 +02:00
adrien
f0029449f0 tmp 2026-04-28 14:50:08 +02:00
adrien
8816a65518 Now pass all test with new *const way
I am not quite sure about it yet, but it is faster sooo idk.
Let's see long term
2026-04-28 13:51:10 +02:00
adrien
26ff02c50f Changed TEnsor to use *const 2026-04-28 13:10:14 +02:00
adrien
bb6dd59b9a Removed more 2026-04-28 01:02:30 +02:00
adrien
acb908a448 Removed some char 2026-04-28 01:01:40 +02:00
adrien
c6f613a787 I guess I can't do better. Scalar still suck, but at least it is builtin SIDM so ok I guess 2026-04-27 22:07:39 +02:00
adrien
a0961e7571 Start to optimize the shit out of it, still a long way to go
After that GPPPPPUUUUUU baby!
2026-04-27 21:24:03 +02:00
adrien
168312b78e Removed lots of usless inline and comptime in Scales and Dimensions 2026-04-27 19:09:55 +02:00
AdrienBouvais
698e968ef8 Added a high dimension benchmark 2026-04-27 16:18:31 +02:00
AdrienBouvais
44aaa8a8b2 Removed all inline for (0..total) for either builtin or for loop without inline
This is to prevent giant binary for Tensor with a lot of Scalar
2026-04-27 16:11:46 +02:00
AdrienBouvais
cd954b379b Added cross to Tensor + fix benchmark 2026-04-27 15:13:15 +02:00
AdrienBouvais
16d25e7e7e Added shape comptime check for Tensor add/sub/div/mul 2026-04-27 14:45:41 +02:00
AdrienBouvais
f37a196b15 Fixed new Tensor to be everything (Scalar, Vector, Matrix and above) 2026-04-27 09:11:24 +02:00
Adrien Bouvais
934a40fe1a Basic untested tensor 2026-04-26 22:16:25 +02:00
adrien
4a2d45b384 Fix benchmarks to work with new Scalar and Vector 2026-04-26 01:28:33 +02:00
adrien
d32de3fe82 Converted Base test to new Scalar 2026-04-26 01:18:41 +02:00
adrien
4b01dfe412 Replaced Vector with Quantity
Some checks failed
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 25s
2026-04-26 01:07:12 +02:00
adrien
c350ffd1d6 Working vector initiate
Some checks failed
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 30s
2026-04-26 00:40:10 +02:00
adrien
a591736b19 Totally replaced Scalar with Quantity
Some checks failed
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 49s
2026-04-26 00:29:00 +02:00
adrien
0257ee5d21 Added Quantity that will be both Scalar and Vector, using only @Vector
I did some benchmark, and @Vector(1, type) is just as fast as type for
float and around 40% slower for int.

But the traide off is ok for me, because for @Vector(>1, type), we are
between 2 and 32x faster! And I dont think single value int will be use
for high performance computing, so I am ok with how simple it make
everything.

Because now I dont have to one struct that use @Vector and one that use
just type, I can just use one. Making it even easier to integrate GPU
later. I will even be able to have a single place in my code with a + -
* and / basically. A single function for all, so I only need to optimize
that one.
2026-04-25 22:36:48 +02:00
adrien
7fc7193206 FLush 2026-04-25 18:57:38 +02:00
adrien
3a4783cfa1 Benchmark SIMD vs Native 2026-04-25 18:47:13 +02:00
adrien
80cdcd134e Added some function to benchmark 2026-04-24 23:50:16 +02:00