Commit Graph

277 Commits

Author SHA1 Message Date
Nathaniel Simard 19cd67a9e2
Migration/cubecl (#2041) 2024-07-22 11:08:40 -04:00
Guillaume Lagrange 0d5025edbb
Refactor tensor quantization for q_* ops (#2025)
* Move QuantizationScheme to burn-tensor

* Refactor QuantizedTensorPrimitive to include the quantization strategy

* Fix QFloat tensor data display

* Refactor quantization methods to use scheme and qparams (on backend device)

* Fix clippy

* Fix fmt

* Add qtensor primitive tests
2024-07-19 10:39:50 -04:00
Sylvain Benner b6784684a1 Bump rust minimal version to 1.79
That's because bitstream-io, a dependency of rav1e, started using
a feature only in Rust 1.79.
2024-07-18 09:15:49 -04:00
José Manuel befe6c1601
Added parameter trust_remote_code to hf dataset call. (#2013)
* Added parameter trust_remote_code to hf dataset call.

* Removed test modul as it may break causing false negatives.
Set default trust_remote_code to false.
Added an example that highlights the usecase.
2024-07-17 16:40:23 -05:00
RuelYasa 9804bf81b2
Adding burn::nn::Sigmoid (#2031) 2024-07-17 14:34:44 -04:00
Dilshod Tadjibaev ed8a91d48a
Update slice documentation (#2024) 2024-07-16 11:59:02 -05:00
Guillaume Lagrange 7661deb258
Fix image-classsification-web + autotune flag usage (#2011) 2024-07-15 09:31:54 -04:00
Guillaume Lagrange 3afff434bd
Module weight quantization (#2000)
* Add q_into_data and q_reshape

* Fix tch quantize f16 and q_into_data

* Convert to actual dtype/kind in dequantize

* Add module quantization and q_from_data

* Fix clippy

* Add documentation

* Handle deserialize data conversion

* Fix typo

* Add calibration tests

* Fix clippy precision

* Add QTensorOps require_grad methods to avoid dequantizing

* Add Dequantize mapper docs

* Remove dead code
2024-07-15 08:20:37 -04:00
Nathaniel Simard a4123f6c2e
Cube/doc/readme (#1904)
---------

Co-authored-by: louisfd <louisfd94@gmail.com>
2024-07-12 10:15:17 -04:00
nathaniel 0a33aa363d Fix cube docs 2024-07-12 09:25:45 -04:00
Nathaniel Simard 19f5ad7be5
Refactor/cube/expand & fix double imports (#2009)
* Refactored function

* WIP

* Basic stuff done

* Fix traits

* Cleanup

* Cleanup

* Cleanup
2024-07-12 09:18:38 -04:00
Nathaniel Simard 35345de62a
Feat/cube/slice (#2004)
* Refactor Variable types

* Sice

* Implement slice wgsl

* handle lifetime correctly

* Add cuda impl

* Update cmma

* Cleanup

* Fix tests

* Fix slice signature
2024-07-11 11:28:53 -04:00
Guillaume Lagrange c30ffcf6ac
Enable optimized handling of bytes (#2003)
* Enable optimized handling of bytes

* Implement byte buffer de/serialization

* Use serde_bytes w/ alloc (no_std compatible)
2024-07-11 07:48:43 -04:00
Louis Fortier-Dubois 69be99b802
Cube: Matmul tiling (#1994) 2024-07-09 12:43:13 -04:00
Adrian Müller c2b6318fc3
Implement ONNX ConstantOfShape (#1815)
* Feat: burn-import implement ONNX ConstantOfShape

* Introduce shape type and use in ConstantOfShape and Shape

* Add tests for bool and int tensors for ConstantOfShape

* Fix ONNX test generation

* Undo comment

---------

Co-authored-by: Dilshod Tadjibaev <939125+antimora@users.noreply.github.com>
2024-07-08 15:11:59 -05:00
Nathaniel Simard 924e3578ee
Fix CI (#1993) 2024-07-08 15:55:05 -04:00
github-actions[bot] 96a375e1d9
Combined PRs (#1990)
* Bump text_placeholder from 0.5.0 to 0.5.1

Bumps [text_placeholder](https://github.com/bernardoamc/text-placeholder) from 0.5.0 to 0.5.1.
- [Commits](https://github.com/bernardoamc/text-placeholder/commits)

---
updated-dependencies:
- dependency-name: text_placeholder
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump serde from 1.0.203 to 1.0.204

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.203 to 1.0.204.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump trybuild from 1.0.96 to 1.0.97

Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.96 to 1.0.97.
- [Release notes](https://github.com/dtolnay/trybuild/releases)
- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.96...1.0.97)

---
updated-dependencies:
- dependency-name: trybuild
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump syn from 2.0.68 to 2.0.69

Bumps [syn](https://github.com/dtolnay/syn) from 2.0.68 to 2.0.69.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.68...2.0.69)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump cudarc from 0.11.6 to 0.11.7

Bumps [cudarc](https://github.com/coreylowman/cudarc) from 0.11.6 to 0.11.7.
- [Release notes](https://github.com/coreylowman/cudarc/releases)
- [Commits](https://github.com/coreylowman/cudarc/compare/v0.11.6...v0.11.7)

---
updated-dependencies:
- dependency-name: cudarc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-08 15:54:54 -04:00
Nathaniel Simard e7a3cc4fba
Fix wgsl remainder definition (#1979) 2024-07-08 15:26:10 -04:00
Dilshod Tadjibaev e8b915a2da
Enhance slice operation to support more range variation (#1989)
* Enhance slice operation to support more range variation

* Fix doc clippy

* Fixed doc test

* Fix flipped attribute names

* Fix clippy
2024-07-08 13:34:25 -05: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
Guillaume Lagrange 6f158af4b1
Fix warnings when using `record-backward-compat` (#1977) 2024-07-08 07:58:50 -04:00
Nathaniel Simard 8af2b719a1
Feat: Support trait with CubeCL (#1980) 2024-07-07 10:07:51 -04:00
johnhuichen c9e9054167
Enable negative starts and ends for slice op (#1981)
* Enable negative starts and ends for slice op

* Refactor slice_config

---------

Co-authored-by: JC <you@example.com>
2024-07-06 21:31:37 -05: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
Sylvain Benner d6efb3ca17 Set DEFAULT_MAX_TASKS to 1 when running tests 2024-07-05 18:57:01 -04:00
nathaniel 882a27c52c Revert "Revert "Implement 3D and transposed 3D convolutions. (#1945)""
This reverts commit b8b47ea6e6.
2024-07-05 18:57:01 -04:00
Arthur Brussee 0928a52eea
Always derive Cube features from adapter (#1958) 2024-07-05 17:38:07 -04:00
johnhuichen fe0544b9ea
Add subtract tensor from scalar for ONNX sub op (#1964) 2024-07-05 13:52:02 -05:00
nathaniel b8b47ea6e6 Revert "Implement 3D and transposed 3D convolutions. (#1945)"
This reverts commit d696d74e3d.
2024-07-05 09:40:32 -04:00
Nathaniel Simard 51aea94a30
Dynamic memory management preset + updated wgpu buffer memory management (#1962)
---------

Co-authored-by: mepatrick73 <pameu17@ulaval.ca>
2024-07-04 16:47:08 -04:00
Nathaniel Simard f709858a8b
Revert "Perf: cube reuse shape and strides (#1939)" (#1967)
This reverts commit ad81a997af.
2024-07-04 16:16:17 -04:00
Nathaniel Simard 679cfd6dfb
Refactor cube launch + support inplace operation (#1961) 2024-07-03 11:58:35 -04:00
mepatrick73 f5be04f44b
Feat/fixed chunk alloc by class (#1960) 2024-07-03 08:06:05 -04:00
Guillaume Charifi d696d74e3d
Implement 3D and transposed 3D convolutions. (#1945)
* Implement 3D and transposed 3D convolutions.

* Merge changes from onnx-ir #1921 pr

---------

Co-authored-by: Dilshod Tadjibaev <939125+antimora@users.noreply.github.com>
2024-07-02 17:54:35 -05:00
Joshua Ferguson 25348cf181
Separating ONNX parsing from burn-import (#1921)
* separating onnx parsing from burn-import

* ran clippy and cargo-fmt

* removed unused deps from onnx-ir

* fixed clippy warnings that were causing run-checks to fail

* removed dead code

* removed unused dependencies from burn-import

* updated contributor-book, updated publish.yml, added readme

* update cargo lock

* formatted md document with prettier, rephrased sentence

* missed the errors with reduce_prod_conversion during merge

* formatted onnx-to-burn-conversion-tool.md, forgot to save
2024-07-02 15:17:44 -05:00
Guillaume Lagrange 755c0708c4
Fix cmma test (#1957) 2024-07-02 12:10:59 -04:00
Dirley Jordan 9e6777d6a5
Add ReduceProd ONNX Import (#1955)
* Preliminary ReduceProd Support

* Add comma to keep formatter happy

* Give test results a 0.001 tolerance to account for floating-point multiplication

* Reformat assersions

* Correctly mark panic conditions in op_configuration
2024-07-02 09:05:28 -04:00
Dilshod Tadjibaev 2bb76283ff
Improve pickle (CandleTensor) conversions to NestedValue (#1944)
* Manually serialize tensor - fixes #1773

* Rename `value` to `bytes`
2024-07-02 08:34:19 -04:00
Nathaniel Simard 82a883a57d
Feat/cube/fma (#1947) 2024-07-02 08:32:39 -04:00
Nathaniel Simard cb6b5e7183
Feat/cube/cooperative matrix-multiply and accumulate. (#1943) 2024-07-02 08:31:00 -04:00
Nathaniel Simard ad81a997af
Perf: cube reuse shape and strides (#1939) 2024-07-02 08:28:32 -04:00
Arthur Brussee 849c8f453b
Consistent sync/async handling, allow more functions to be async for wasm. (#1936) 2024-07-02 08:25:28 -04:00
Logan B. Nielsen 3a9367de73
remove manual option matching (#1948) 2024-07-01 10:44:10 -04:00
Guillaume Lagrange e753b0c4e7
Fix output tensor dtype (#1938) 2024-07-01 10:27:31 -04:00
Roy Varon a7efc102b9
Replaced `str` with `Path` (#1919)
* replaced str with Path

* minor change (Path to AsRef<Path>)

* fixed clippy lint
2024-06-29 18:17:59 -05:00
Dilshod Tadjibaev 98a58c867d
Print module - implement module display for remaining modules (part2) (#1933) 2024-06-28 08:37:40 -04:00
Nathaniel Simard 1ae1c03b2d
Refactor/cube/mutability (#1934) 2024-06-27 16:03:23 -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
mepatrick73 1c7780aaac
Feat/dynamic small pool (#1931) 2024-06-26 15:42:04 -04:00