Commit Graph
100 Commits
Author SHA1 Message Date
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 957f75243f Added zig-wgpu import 2026-05-20 16:03:15 +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 eb3b0d4de3 Update .zon 2026-05-04 22:59:54 +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 9b6cd4b377 Removed release fast 2026-05-04 14:34:31 +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 d4a1054fdc Removed deploy.yaml 2026-04-28 00:58:24 +02:00
adrien fb2a6f4806 Removed docs/ 2026-04-28 00:57:50 +02:00
adrien 8c77ab86f8 Readded it but also in gitignore 2026-04-28 00:56:42 +02:00
adrien 8565869919 Removed mkdocs.yaml 2026-04-28 00:56:02 +02:00
adrien 1a69b3dbf2 Removed old .md 2026-04-28 00:55:32 +02:00
adrien cd3632210d Updated README
Deploy MkDocs to Garage / build-and-deploy (push) Successful in 4m40s
2026-04-28 00:45:12 +02:00
adrien de2e9cce68 Merge branch 'tensor'
Deploy MkDocs to Garage / build-and-deploy (push) Successful in 40s
2026-04-27 22:10:02 +02:00
adrien 0b2469d321 . 2026-04-27 22:07:45 +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
adrien 1dcfd58189 .
Deploy MkDocs to Garage / build-and-deploy (push) Successful in 29s
2026-04-26 01:37:00 +02:00
adrien 0914ea0a60 .
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 1m1s
2026-04-26 01:35:37 +02:00
adrien 37a95607b3 .
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 28s
2026-04-26 01:33:37 +02:00
adrien fe7ee54601 Moved mkdocs.yml to /docs
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 34s
2026-04-26 01:31:45 +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 58fd4d5797 Fix
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 29s
2026-04-26 01:11:51 +02:00
adrien ae6b069da1 Added simd ref to action
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 27s
2026-04-26 01:09:20 +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 89e46f4cd4 .
Deploy MkDocs to Garage / build-and-deploy (push) Failing after 2m17s
2026-04-25 23:29:51 +02:00
adrien db6aaf433d Added mkdocs 2026-04-25 23:29:06 +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 c2675f5117 Added imperial to README 2026-04-23 00:28:49 +02:00
adrien f26f6086ca Added Imperial unit scales 2026-04-23 00:14:57 +02:00
adrien a91a509368 Added GNU License 2026-04-23 00:00:32 +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
adrien 9544bb584a Removed s and d in Vector (duplicate of dims and scales) 2026-04-22 22:10:04 +02:00
adrien 6c50a01d6e Removed ugly Scalar_ 2026-04-22 22:08:05 +02:00
adrien e4d55e36ab Added the posibility to use comptime_float, int and T for Scalar operation 2026-04-22 16:45:02 +02:00
adrien 82bdb96746 Changed how Scalar is generated to use Dimensions.ArgOpts and Scales.ArgOpts 2026-04-22 16:31:07 +02:00
adrien a2d46e3f55 Added sqrt to Scalar and Vector 2026-04-22 15:43:17 +02:00
adrien 0dd9e02f59 Added abs, pow and product operations 2026-04-22 14:50:21 +02:00
adrien c4e462add3 Added dot and cross function for Vector 2026-04-22 12:32:10 +02:00
adrien 4c910319d5 Added comparison operation to Scalar and Vector 2026-04-22 12:26:17 +02:00
adrien 86841318f2 Added some doc comments 2026-04-22 10:58:14 +02:00
adrien ec05b60fc3 Replaced Scales.min to helper.finerScales 2026-04-22 10:31:04 +02:00
adrien 49b56bda91 Added int nanometer example in README 2026-04-22 01:20:09 +02:00
adrien 76c69448de Fixed benchmark with removed scale 2026-04-22 01:14:38 +02:00
adrien cb3c41cf4c Better README 2026-04-22 01:07:06 +02:00
adrien 5f42a8c107 Added Dimless to Base 2026-04-22 01:06:52 +02:00
adrien 1719b0de8b Removed scale (just use mulBy + dimless) + added inline to vector fn 2026-04-22 01:05:33 +02:00
adrien 84d0698878 Removed ztracy dep 2026-04-22 00:31:37 +02:00
adrien 11a741f72c Removed useless code 2026-04-22 00:19:07 +02:00
adrien cc39c1a6f4 Same for all bench, nbo more sink 2026-04-22 00:17:58 +02:00
adrien d96a1ac4bc Replaced a sing with std.mem.doNotOptimizeAway 2026-04-22 00:12:38 +02:00
adrien fb922e3d5c Added tracy as dependencie 2026-04-22 00:00:18 +02:00
adrien 1fd86a5807 Moved benchmarks into a seperate file and exe 2026-04-21 23:52:13 +02:00
adrien a518a86fb2 Changed from using format to formatNumber in Scalar and Vector to use precision, fill, width, ect 2026-04-21 22:21:19 +02:00
adrien 8a22788a2e Renamed a test 2026-04-21 19:41:02 +02:00
adrien b9647e0426 Updated build.zig to expose a module 2026-04-21 19:32:59 +02:00
adrien cb51afe79c Update zig name 2026-04-21 19:28:32 +02:00
adrien 732bf11005 Update zig.zon 2026-04-21 19:27:10 +02:00
adrien 46380a95da Renamed Quantity to Scalar and QuantityVec to Vector 2026-04-21 19:18:45 +02:00
adrien aa46cef978 Deleted tmp file 2026-04-21 18:36:31 +02:00
adrien 01c5b50b95 Added cross type overhead benchmark 2026-04-21 18:36:23 +02:00
adrien bbab41008f Passed some Scales stuff to comptime 2026-04-21 18:18:12 +02:00
adrien aa09054c4d Added fast path to mulBy too 2026-04-21 18:16:37 +02:00
adrien b02665fe89 Prevent convertion if unecessary at comptime for Quantity operations 2026-04-21 17:55:33 +02:00
adrien a16bbedbd8 Changed Quantity fn to be inline 2026-04-21 17:49:53 +02:00
adrien 7b038dd2a5 Added some explicit comptime to Quantity 2026-04-21 17:41:37 +02:00