Commit Graph

39 Commits

Author SHA1 Message Date
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
Akhil 4e68cb2175
Prints benchmark results in a neat table and attempts to run every benchmark (#1464)
* log benchmark results as table

* update with comments

* remove redundants

* ds

* in markdown format

* fix
2024-03-15 06:55:18 -04:00
Sylvain Benner fa0dfec3c7
[backend-comparison] Compile benches in dedicated target directory (#1435)
This avoids file access denied error on Windows while executing
burnbench from cargo with a release build.
2024-03-12 09:32:48 -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
Sylvain Benner 9bf3f3f720
[backend-comparison] Update Github App ID with official application (#1397) 2024-03-01 17:31:27 -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
Joshua Ferguson 4a70a0f8bc
renaming FloatTensor Ops, Primitives, and maybe functions (#1174) 2024-01-27 10:04:50 -05:00
Nathaniel Simard b99726f804
[burn-fusion] save all execution plans for any trigger (#1143) 2024-01-16 14:02:42 -05:00
Sylvain Benner 9bd2d7b7d4
Refactor serialization of backend-comparison benchmarks (#1131)
* Refactor serialization of benchmarks

* flatten benchmarks data to make it easier to save documents to a database and
query them
* split some information into their own fields like backend and device
* add new seralized info:
  - computed values (mean, median, variance, min, max)
  - number of samples
  - operation name
  - tensor shapes if any
* serialize to separate files, one file per benchmark run
* simplify persistence module to only a save method

* Update bench save file format to use name and uuid

* Compute serialized fields count automatically via a macro

* Rework naming of benchmarks, shapes and add options field

Remove operations field
Correctly create one file per ran benchmark

* Serialize benchmark num_repeats

* Fix expect message to follow the 'should' convention

* Cargo fmt :-)

* Make Clippy happy

* Save files in the burn subdirectory

* Change name of custom_gelu bench to just gelu

* Remove num_repeats from backend-comparison benchmarks

* Fix wrong variable name to compute the median

* Remove false positive possibility in test_mean_duration
2024-01-12 11:15:00 -05:00
Nathaniel Simard f43b686366
Feat/fusion inplace (#1128) 2024-01-10 12:37:17 -05:00
Nathaniel Simard de5f93220f
Wgpu fusion auto-vectorized operations (#1123) 2024-01-08 16:58:39 -05:00
Louis Fortier-Dubois ab67b6b036
slice assign in candle (#1095) 2024-01-08 16:41: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 ab1b5890f5
Chore/release (#1031) 2023-12-01 14:33:28 -05:00
Nathaniel Simard 670280dda2
Feat/fusion/cache (#1020) 2023-12-01 12:05:11 -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
Luni-4 ec9df53d4c
ci/Fix `cargo clippy` action (#942) 2023-11-16 19:35:38 -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
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
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