Commit Graph

12 Commits

Author SHA1 Message Date
Ilya Dmitrichenko 67994c02d5
Make backend names in JSON reports match burnbench CLI (#1375)
* Make backend names in JSON reports match burnbench CLI

- add `config_name`  to `Backend` trait
- add `backend_config_name` to  `Benchmark` trait
- fix documentation for JSON reports to use correct unit of time

* Revert "Make backend names in JSON reports match burnbench CLI"

This reverts commit a09edb6389.

* [backend-comparison] Serialize the feature name passed to burnbench

---------

Co-authored-by: syl20bnr <sylvain.benner@gmail.com>
2024-04-01 09:48:44 -04:00
Sylvain Benner 32a8d8041c
Tweak/add kind to gelu benchmark name (#1533)
* Add kind to gelu benchmark name

* [backend-comparison] Compute column size in benchmarks report
2024-03-28 12:35:15 -04: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 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
Kirill Mavreshko 1fd07fcb4a
Explicit device tensors (#1081) 2023-12-20 17:49:59 -05:00
Nathaniel Simard 670280dda2
Feat/fusion/cache (#1020) 2023-12-01 12:05:11 -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