Commit Graph

50 Commits

Author SHA1 Message Date
1309932933 Polish a bit the kernel loading. 2023-06-22 09:16:43 +01:00
b5f7553b18 Deactivate nightly CI as it's flaky at the moment. 2023-06-22 08:36:33 +01:00
0a758ffa05 Add the fill kernel and use it for 'ones'. 2023-06-22 08:33:32 +01:00
fc26bab3ed Add some specific errors rather than panicking. 2023-06-22 07:51:53 +01:00
db35b31050 Merge pull request #3 from LaurentMazare/cuda
Add Cuda support.
2023-06-21 21:37:54 +01:00
7c46de9584 Check that the tensor is contiguous before applying the kernel. 2023-06-21 21:28:59 +01:00
9834151254 Small improvement to the cuda panic. 2023-06-21 21:25:51 +01:00
304a557d84 Add a dummy module. 2023-06-21 21:16:00 +01:00
97d9142dee Add a first kernel. 2023-06-21 20:48:22 +01:00
fcb4e6b84f Use a reference for the device. 2023-06-21 19:55:57 +01:00
deb6091099 Use a type alias for cuda errors. 2023-06-21 19:50:00 +01:00
71735c7a02 Move the data between the host and the device. 2023-06-21 19:43:25 +01:00
c654ecdb16 Add a specific example for cuda. 2023-06-21 18:56:04 +01:00
2bfe8f18ab Start adding support for cuda. 2023-06-21 18:11:56 +01:00
7c317f9611 cuda is not available on the CI so deactivate it. 2023-06-21 14:50:52 +01:00
7adffafeda Abstract the gradient storage. 2023-06-21 14:29:48 +01:00
68f525f321 Move more bits to the backend part. 2023-06-21 10:34:51 +01:00
eb52b9b343 Move the cpu backend specific bits apart. 2023-06-21 10:25:56 +01:00
b3eb57cd0a Avoid some duplication using a macro + add some basic example to make debugging easier. 2023-06-21 10:08:41 +01:00
8cde0c5478 Add some skeleton code for GPU support. 2023-06-21 09:13:57 +01:00
f319583530 More QOL changes, binary op for constants. 2023-06-21 08:59:08 +01:00
0839954770 Add some binary ops. 2023-06-21 08:32:35 +01:00
3a5405ca6d Move the StridedIndex in its own module. 2023-06-21 07:44:36 +01:00
23db8a7da8 Simplify the test. 2023-06-21 07:33:42 +01:00
78bac0ed32 Add a couple operators. 2023-06-20 22:32:11 +01:00
f1f372b13e Add the affine transformation. 2023-06-20 21:51:35 +01:00
e04d0ac1ac Cosmetic change to the backprop test. 2023-06-20 20:56:50 +01:00
a419a9da72 Add some backprop test. 2023-06-20 20:54:35 +01:00
c4c303b6f1 Add some very basic backprop. 2023-06-20 20:33:44 +01:00
3b7984ccce Add some functions to create variables. 2023-06-20 19:31:35 +01:00
9ff8d2076a Add the topological sort for backprop. 2023-06-20 19:15:39 +01:00
671bcf060e Expose the tensor ids. 2023-06-20 14:22:04 +01:00
98b423145a Bugfix for the contiguous strides. 2023-06-20 13:35:07 +01:00
d922ff97f2 Add some unique identifier. 2023-06-20 13:00:04 +01:00
d9cb1917ce Add some unary ops. 2023-06-20 12:04:01 +01:00
b4d332cd1b Reduce code duplication. 2023-06-20 11:32:27 +01:00
f5b0aa815a Get the addition/multiplication to work. 2023-06-20 11:07:59 +01:00
6c5fc767a8 Add the slice indexing. 2023-06-20 10:50:58 +01:00
786544292d Add more to the binary operators. 2023-06-20 09:49:40 +01:00
7a31ba93e4 Start adding some ops. 2023-06-20 08:41:19 +01:00
ef6760117f Proper stride initialization. 2023-06-20 07:53:53 +01:00
bcae61b7f2 Cosmetic changes. 2023-06-19 21:30:03 +01:00
26d6288eb6 Add an easy way to create tensor objects. 2023-06-19 20:59:26 +01:00
01eeb0e72f Shuffle the shape bits around. 2023-06-19 20:22:12 +01:00
634e0c88ae Add some basic test. 2023-06-19 19:50:17 +01:00
8e2c534d1f Flesh out some ops bits. 2023-06-19 19:28:33 +01:00
ce718bb807 Add the op. 2023-06-19 18:34:54 +01:00
844704de5c Split the tensor file. 2023-06-19 17:34:13 +01:00
9698211d56 Add some very basic tensor type. 2023-06-19 17:26:50 +01:00
fe7a5f53a1 Initial commit 2023-06-19 17:06:31 +01:00