Commit Graph

47 Commits

Author SHA1 Message Date
Genna Wingert 97af8c6d28
Introduce autotuning to `conv2d` and `conv_transpose2d` with a new `im2col`/`GEMM` algorithm (#2287) 2024-09-23 15:54:50 -04:00
Guillaume Lagrange 81ec64a929
Add ResNet benchmark (#1534) 2024-09-16 09:57:15 -04:00
Nathaniel Simard 96a23408d2
Chore/update cubecl (#2235) 2024-09-01 17:05:13 -04:00
syl20bnr 8e78106680 Bump burn version to 0.15.0 2024-08-27 15:13:40 -04:00
Nathaniel Simard 19cd67a9e2
Migration/cubecl (#2041) 2024-07-22 11:08:40 -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
nathaniel b8b47ea6e6 Revert "Implement 3D and transposed 3D convolutions. (#1945)"
This reverts commit d696d74e3d.
2024-07-05 09:40:32 -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
Guillaume Lagrange e4836241e1
Fix `DataSerialize` conversion for elements of the same type (#1832) 2024-05-28 18:12:44 -04:00
Nathaniel Simard c7ad25ab60
Update cuda-jit (#1799) 2024-05-24 11:31:47 -04:00
Louis Fortier-Dubois 033171920c
Cube: first ported kernel + comptime support + variable reuse + cleanup (#1797) 2024-05-22 14:08:21 -04:00
Ahmed Yarub Hani Al Nuaimi 10737527d8
#1747 Upgrade Rust dependencies (#1748)
* #1747
Upgrade Rust dependencies

* Revert upgrade for tch

The update of tch on windows gives an error:

INTEL MKL ERROR: The specified module could not be found. mkl_vml_avx2.1.dll.
Intel MKL FATAL ERROR: cannot load mkl_vml_avx2.1.dll or mkl_vml_def.1.dll.

* Keep only .cargo/config.toml file which works with rust > 1.75

---------

Co-authored-by: Sylvain Benner <sylvain@benner.online>
2024-05-10 16:25:19 -04:00
Nathaniel Simard 587b8f80b3
First draft CUDA runtime (#1685)
Initial cuda runtime crate with a WIP compiler.
2024-04-30 09:46:29 -04:00
Louis Fortier-Dubois 6ae3926006
New autodiff graph memory management strategy (#1698)
---------

Co-authored-by: nathaniel <nathaniel.simard.42@gmail.com>
2024-04-26 12:25:53 -04:00
Sylvain Benner e303e31c8b
Bump next version of Burn to 0.14.0 (#1618) 2024-04-12 17:14:45 -04:00
Sylvain Benner 65222761fd
[backend-comparison] Add URL to browse results on burn.dev website (#1573) 2024-04-04 10:06:30 -04:00
Sylvain Benner 9a1459797f
[backend-comparison] Rework burnbench output to be nicer and more compact (#1568)
* [backend-comparison] Remove tui

* [backend-comparison] Add nice and compact burnbench output

* [backend-comparison] Cargo check fixes

* Tweak bar style for consistency on different terminals

* [backend-comparison] Add uploading state to nice processor

Also simplified with only one processor for both stdout and stderr
since now we also need to process stdout to detect uploading.

* [backend-comparison] Add spinner to have feedback while compiling

* [backend-comparison] Fix Compiling status message on MacOS

* [backend-comparison] Remove prefix in progress bar message

* [backend-comparison] Refactor tracker to use tick and AtomicU64

* [backend-comparison] Set OutputProcessor bounds at the trait level

* [backend-comparison] Fix typos and remove dead code

* [backend-comparison] Create run_cargo function in for loops
2024-04-03 15:41:35 -04:00
Nathaniel Simard b0c5986d16
Feat/lazy init (#1539) 2024-04-02 10:13:35 -04:00
Louis Fortier-Dubois 279be0496a
Conv Transpose: migration + decent speedup (#1541)
* convtranspose benchmark

* adjust bench

* conv transpose works

* Conv Transpose: migration + decent speedup

* delete template folder

* typos

* fix
2024-03-28 12:13:06 -04:00
Sylvain Benner 3a1d52067f
[backend-comparison] Fix automatic fusion activation with wgpu (#1542) 2024-03-27 17:40:12 -04:00
Sylvain Benner 28233d9f59
[backend-comparison] Add Operating System information (#1531)
* [backend-comparison] Add Operating System information

* [backend-comparison] Simplify serialization of os info
2024-03-26 15:58:38 -04:00
Sylvain Benner 0adda72316
[backend-comparison] Add system information to benchmark results (#1495)
* Bump sysinfo crate to 0.30.7

* [backend-comparison] Add CPUs and GPUs system info to results

* [backend-comparison] Add integrated GPUs to gathered system info

* [backend-comparison] Use AutoGraphicsApi wgpu backend selection
2024-03-22 23:24:49 -04:00
Sylvain Benner e8863dafd2
[backend-comparison] Refresh access token and display authenticated user name (#1483)
* [backend-comparison] Serialize both auth tokens to cache file

We need to refresh token to be able to renew an expired access token.

* [backend-comparison] Refresh access token

* [backend-comparison] Display user name with auth command

* [backend-comparison] Update README

* [backend-comparison] Fix PR comments

* [backend-comparison] Fix hyphen consistency in benchmark names

* [backend-comparison] Fix release build error when refreshing token

The reqwest must have an explicit empty body otherwise the release
build returns a 411 when refreshing the tokens without even calling
the benchmark server endpoint.
2024-03-20 15:39:32 -04:00
Nathaniel Simard efbe818465
Refactor wgpu max pooling (#1398) 2024-03-04 13:23:11 -05:00
Sylvain Benner 1117757e2b
[backend-comparison] Upload benchmarks to server (#1381)
Uploading is enabled with already implemented --share argument
of the burnbench command line tool.

The burnbench binary passes the URL of the server and the auth
token to the cargo bench process using the additional arguments
--sharing-url and --sharing-token respectively.

The persistence module then upload the results when a --sharing-url
is provided.

The URL is for now hardcoded. The endpoint is production when
compiling in release mode and it is localhost otherwise.
2024-03-02 11:38:18 -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
Sylvain Benner 00b6c7d136
[backend-comparison] Add GitHub authentication to burnbench CLI (#1285)
* [backend-comparison] Add auth command to burnbench CLI

* [backend-comparison] Add --share argument to Burnbench CLI

* Cargo clippy fixes

* Fix typos

* Add comment to explain the FIVE_SECONDS constant

* Use num_args to force at least one arg value and make args required

In the run command, makes the --benches and --backends required
The manual check is no longer necessary

* Use and_then instead of match

* Simplify token verification

* Use map_or instead of match
2024-02-13 11:16:53 -05:00
Nathaniel Simard a9b6dbc177
Enable burn fusion by default (#1223) 2024-02-08 11:28:02 -05:00
Sylvain Benner 5bef9d8432
[backend-comparison] Burnbench CLI (#1260) 2024-02-07 09:28:02 -05:00
Sylvain Benner 4aa13d6b25
Bump Burn version to 0.13 (#1211) 2024-01-31 16:01:20 -05:00
Nathaniel Simard b7486b0e80
Feat/fusion/wgpu autotune (#1188)
* wip

* WIP

* Update

* USe read write lock

* Refactor autotune

* Cleanup

* Add docs
2024-01-30 11:01:43 -05:00
Louis Fortier-Dubois ab67b6b036
slice assign in candle (#1095) 2024-01-08 16:41:34 -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 ab1b5890f5
Chore/release (#1031) 2023-12-01 14:33:28 -05:00
Nathaniel Simard f6d14f1b1a
Refactor feature flags (#1025) 2023-12-01 09:48:28 -05:00
David Chavez f73136e3df
chore(candle): Allow enabling accelerate (#1009)
* chore(candle): Allow enabling accelerate

* Temporarily disable test for accelerate feature

* Allow enabling accelerate from upstream

* Update the README

* Have xtask also test using accelerate

* Renable failing test

* Fix matmul on candle when using accelerate

* Add additional comment to xtask method
2023-11-30 13:03:00 -05:00
Louis Fortier-Dubois 17f59057d6
Feat/backend comparison/persistence (#979)
* setting up

* wip

* persistence works

* cleanup

* clippy

* run checks

* Cleanup

* reverse json order

---------

Co-authored-by: nathaniel <nathaniel.simard.42@gmail.com>
2023-11-22 11:50:27 -05:00
Nathaniel Simard 945014b7f1
Add new backend comparison benchmark (#958)
* Add new benchmark

* Remove bad comment

* Add more gelu
2023-11-16 08:15:21 -05:00
Nathaniel Simard 24014aca33
WGPU: Support elemwise operation fusion (#948) 2023-11-15 15:13:37 -05: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
Nathaniel Simard 86db5dc392
Enable candle cuda (#887) 2023-10-23 11:00:54 -04:00
Louis Fortier-Dubois e4d9d67526
make candle available (#886) 2023-10-23 10:00:39 -04:00
Louis Fortier-Dubois aa90fe8efb
Refactor/burn benchmark (#829) 2023-09-28 09:38:21 -04:00