Commit Graph

51 Commits

Author SHA1 Message Date
Nathaniel Simard
3c6b710dca Refactor/device handle (#4593) 2026-03-11 18:46:49 -04:00
Genna Wingert
66733ae0eb refactor: Metadata type/strides refactor (#4534)
* Remove R::supported_line_sizes

* refactor: Metadata optimization

* Revert temp fix

* Rename `ShapeError` to `MetadataError`

* Cleanup

* Bump cubecl and cubek rev

* Fix doc test

* Bump cubecl rev
2026-02-19 10:07:37 -05:00
Florian Liao
51811d5563 chore: fix typos caught by xtask (#4406) 2026-01-30 07:38:12 -05:00
Nathaniel Simard
19db09c968 Feat/error handling cubecl (#4076) 2025-11-27 11:05:09 -05:00
Nathaniel Simard
cb30b57bc6 Feat/pinned memory staging (#4016) 2025-11-13 14:21:11 -05:00
Guillaume Lagrange
01912f80e2 Refactor Shape manipulations (#3845)
* Shape shape shape

* Add shape indexing/deref/as_slice...

* Add shape methods and refactor to use them

* Add shape cat + more refactor

* Add shape slice

* Cargo fmt

* More fmt

* Fix clippy

* Remove dead code

* Matmul output

* Remove comment
2025-10-09 09:37:17 -04:00
Nathaniel Simard
742e5ae1d1 Fix/autodiff/multi threads (#3793) 2025-10-03 11:38:46 -04:00
Arthur Brussee
c51045c608 Update CubeCL for client based profiling (#3222) 2025-05-23 11:21:28 -04:00
Crutcher Dunnavant
f5198e5e6f Chain lint inheritance [was: Disable new default clippy tests] (#3200) 2025-05-20 08:23:11 -04:00
Guillaume Lagrange
17e3167a70 Improve test tolerance assertions (#3024)
* wip new tolerance

* use the new assert_approx_eq

* fix or tag broken tests

* Fix more tests

* All tests pass cuda/wgpu

* Format

* Fix other modules tests tolerance

* Fix onnx import tolerances

* Remove broken comments

* Expected values are not defined with enough precision anyway

* Less strict tolerance for tch

* Fix docstring

* More tolerance

* Revert to 1e-1 abs (previous tolerance, probably set for tch)

* Tolerances againnnn

* Fix review

* relax some tolerances

---------

Co-authored-by: maxtremblay <t.maxime@pm.me>
2025-04-16 13:33:05 -04:00
Nathaniel Simard
a07266dae4 Fix/some tests (#2979) 2025-04-02 18:22:13 -04:00
Nathaniel Simard
f9b8794dd6 Chore/update cubecl (#2958) 2025-03-31 19:00:50 -04:00
Guillaume Lagrange
303a83e909 Update to edition 2024 (#2931)
* Upgrade to edition 2024

* Explicit unsafe

* Fix keywords and unnecessery ref modifiers

* Fix lifetime

* Update lock

* Cargo fmt

* Update CI prev
2025-03-20 10:28:51 -04:00
Nathaniel Simard
d9e41460ff Refactor burn jit => burn-cubecl (#2809) 2025-02-13 12:39:29 -05:00
Genna Wingert
42e7c1f225 [Feat] 8-bit bool for JitBackend (#2526) 2024-11-29 09:21:13 -05:00
Guillaume Lagrange
9a2b841665 Add float cast op for JIT backend (#2511)
* Fix backend FloatElem docstring

* Remove elem type generic from JitTensor (float ops still using default dtype)

* Use execute_with_dtype macro for float ops

* Add cast for fusion

* Add warning for type promotion

* Add cast to backend router

* Add Primitive trait to correctly display the tensor dtype

* Fix primtiive associated type

* Fix jit bool tensor display

* Fix CI

* Fix clippy

* Whoops

* Fix candle bool tensor display

* Add shape to primitive trait

* Add primitive tests

* Rename trait to TensorMetadata

* Add missing changes to example

* Fix split from merge
2024-11-21 13:19:33 -05:00
Genna Wingert
d5e8e3185c Add documentation for custom cubecl kernels, update some outdated docs (#2404) 2024-10-25 13:22:23 -04:00
Guillaume Lagrange
a6f7a5e532 Remove const D generic (#2298)
* Remove const D generic

* Missing merge conflicts
2024-09-24 08:35:52 -04:00
Nathaniel Simard
096ec13c48 Chore/update/cubecl (#2067) 2024-07-28 12:15:02 -04:00
Nathaniel Simard
19cd67a9e2 Migration/cubecl (#2041) 2024-07-22 11:08:40 -04:00
Guillaume Lagrange
c0211e2f94 Add static tensor quantization (#1963)
* Add QuantizationBackend, QTensorOps and QTensor

* Refactor QTensorOps as part of Backend trait

* Add tensor dequantize, QFloat dtype and default affine/symmetric quant

* Add ndarray default quantization implementation

* Fix clippy

* Add rayon parallel iter

* Add quantization operations to book

* Add q_shape and q_device ops to avoid converting the tensor just to get attributes

* Implement autodiff grad ops

* Mark autodiff todo for QAT

* Remove note

* Add q_inner and q_from_inner
2024-07-08 10:16:58 -04:00
Arthur Brussee
3f9e97946f Feat: Dynamic cube count dispatch (#1975) 2024-07-06 19:17:01 -04:00
Nathaniel Simard
b331290f8a Refactor/jit/unary (#1965) 2024-07-05 19:47:24 -04:00
Guillaume Lagrange
cdd1fa1672 Refactor tensor data (#1916)
* Move distribution to module

* Add new TensorData with serialization support

* Implement display and from for TensorData

* Add missing Cargo.lock

* Add missing bytemuck feature

* Add zeros, ones, full and random TensorData methods

* Refactor Data -> TensorData usage

* Fix tests

Since TensorData is not generic over the element type anymore no type inference can be done by the compiler. We must explicitly cast the expected results to the expected backend type.

* Remove commented line

* Fix import

* Add record-backward-compat

* Remove dim const generic from TensorData

* Support NestedValue de/serialization with TensorData

* Fix burn-jit tests

* Remove eprinln

* Refactor onnx import to use TensorData

* Fix tch from_data

* Fix nested value serialization for u8

* Fix missing import

* Fix reduce min onnx test

* Fix deprecated attribute

* Remove shape getter

* Remove strict assert in tests

* Add tensor data as_bytes

* Add tensor check for rank mismatch

* Fix typo (dimensions plural)

* Fix error message

* Update book examples with from_data and fix Display impl for TensorData

* Add deprecation note
2024-06-26 20:22:19 -04:00
Arthur Brussee
ac9f942a46 Remove GraphicsAPI generic for WgpuRuntime (#1888) 2024-06-17 09:04:25 -04:00
Nathaniel Simard
36d4bcd705 [Refactor - Breaking] Refactor cube operations with better names & Support subgroup operations (#1839) 2024-05-31 17:07:21 -04:00
Guillaume Lagrange
ce2429eb10 Refactor element type to be decoupled from runtime (#1693) 2024-04-26 08:53:55 -04:00
Nathaniel Simard
886a1de235 Refactor/burn compute (#1580) 2024-04-23 13:05:15 -04:00
Louis Fortier-Dubois
f5159b6d22 Refactor: split JitKernel and SourceKernel (#1569)
* refactor execute_dynamic into Execution

* minor change

* extension cfg

* jitkernel and sourcekernel

* add todo statement

* cleanup and docs

* update book

* fix server dependancy on compiler

* refactor into shader information

* refactor to compile shader once

* clippy

* clippy

* clippy

* fix doc

* fix doc

* fmt

* rename feature flag

* refactor

* All broked

* compile at the right time

* todo done

* all dynamic

* all dynamic in template too

* fmt

* fix ci

---------

Co-authored-by: nathaniel <nathaniel.simard.42@gmail.com>
2024-04-05 12:58:10 -04:00
Nathaniel Simard
1239d9bfa3 [Breaking] Make Tensor, Module, Optimizer !Sync + Refactor Autodiff (#1575) 2024-04-04 16:01:17 -04:00
Nathaniel Simard
b429cc39c1 Splitted the JIT stuff from the Wgpu stuff (#1417) 2024-03-06 11:23:53 -05:00
Yu Sun
330552afb4 docs(book-&-examples): modify book and examples with new prelude module (#1372) 2024-02-28 13:25:25 -05:00
Louis Fortier-Dubois
576bb44bc8 Feat/autodiff/checkpoint ops (#1358) 2024-02-26 17:19:09 -05:00
Sylvain Benner
4427768570 [refactor] Move burn crates to their own crates directory (#1336) 2024-02-20 13:57:55 -05:00
Nathaniel Simard
dfc65abd52 [Refactor] Just-In-Time Backend (#1280) 2024-02-12 12:15:07 -05:00
Nathaniel Simard
a9b6dbc177 Enable burn fusion by default (#1223) 2024-02-08 11:28:02 -05:00
Joshua Ferguson
4a70a0f8bc renaming FloatTensor Ops, Primitives, and maybe functions (#1174) 2024-01-27 10:04:50 -05:00
Kirill Mavreshko
97297538b1 Remove _devauto fuctions (#518) (#1110) 2024-01-06 13:36:34 -05:00
Kirill Mavreshko
1fd07fcb4a Explicit device tensors (#1081) 2023-12-20 17:49:59 -05:00
David Chavez
71d3c1d142 chore(infra): Share some properties across workspace (#1039) 2023-12-12 09:39:07 -05:00
Louis Fortier-Dubois
8fc52113bc Chore/bump v12 (#1048) 2023-12-04 10:47:54 -05:00
Louis Fortier-Dubois
3088c466a5 patch 0.11.1 (#1047) 2023-12-04 10:18:30 -05:00
Nathaniel Simard
96524d40a1 [Breaking] Refactor Backend Names (#904) 2023-10-29 18:27:49 -04:00
Louis Fortier-Dubois
e2a3329997 Feat/wgpu/autotune compute (#906) 2023-10-29 16:44:59 -04:00
Nathaniel Simard
233922d60c Chore: Bump version for next release (#900) 2023-10-24 19:31:13 -04:00
Louis Fortier-Dubois
d96f73da0a Feat/compute/autotune (#861)
* wip autotune compute

* too much generics

* wip

* megawip

* in progress

* first test passes

* first test passes

* fixed test

* refactor for cache hit and miss

* cleanup and fixes

* doc and stuff

* doc and stuff

* clippy

* format

* remove lifetime

* cleanup operation

* wip

* wip

* compiles

* wip mutable borrow

* refactor with autotune server

* wip tune benchmark

* test passes

* fix autotune key

* cache hit miss tests

* refactor wgpu to match burn-compute

* better operation execution

* cleanup & refactor

* test for parametered kernel

* fmt

* fmt

* clippy

* allow clippy

* fix no-std

* fmt

* review and ci

* Fix CI

* delete dummy benchmarks again

---------

Co-authored-by: nathaniel <nathaniel.simard.42@gmail.com>
2023-10-23 11:29:44 -04:00
Nathaniel Simard
95e660488e Refactor/burn compute wgpu (#826) 2023-09-25 10:42:45 -04:00
Nathaniel Simard
af0be5cfeb Chore: bump version (#777) 2023-09-06 12:15:13 -04:00
Nathaniel Simard
8b3d10c4d3 Cleanup of the book + feature flags (#773)
---------

Co-authored-by: louisfd <louisfd94@gmail.com>
2023-09-06 09:16:36 -04:00
Damien Elmes
5b97f1a54b Re-export some submodules and add feature flags for them (#759) 2023-09-04 09:13:52 -04:00