Commit Graph
95 Commits
Author SHA1 Message Date
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
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 25s
2026-04-26 01:07:12 +02:00
adrien c350ffd1d6 Working vector initiate
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
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
adrien f26f6086ca Added Imperial unit scales 2026-04-23 00:14:57 +02:00
adrien 5e7b7c5302 Added some constants 2026-04-22 23:53:43 +02:00
adrien 719679aabc Updated README + Renamed mulBy and divBy to mul div 2026-04-22 23:33:58 +02:00
adrien 2c94df7f4a Added overflaw security + made benchmark work (set to max) 2026-04-22 23:11:42 +02:00
adrien 5efa42c2e1 Made possible to use comptime float, int and T for Scalar operation of Vector 2026-04-22 22:34:46 +02:00
adrien 1129acc542 Same for Scalar 2026-04-22 22:10:57 +02:00