Skip to content

Commit

Permalink
Heat CLI project packaging and publishing (#28)
Browse files Browse the repository at this point in the history
* Added base proc macro attribute

Co-authored-by: Jonathan Richard <[email protected]>

* rename cli to macros

* Created base for CLI, can choose backend (only wpgu and tch supported for now)

Co-authored-by: Jonathan Richard <[email protected]>

* Can now specify config files in cli.

There are some problems with running with multiple config files with Heat for now.

Co-authored-by: Jonathan Richard <[email protected]>

* Add support for a first iteration of the CLI

Which allows for specifying json config files to run a experiment training with.

Co-authored-by: Thierry Cantin-Demers <[email protected]>

* Training runs can now be configured with projectID, api key and heat endpoint.

* Cleanup of proc macros into different functions and files.

Added support for inference macro.

* Added flag inventory to know which heat macros have been called.

Co-authored-by: Jonathan Richard <[email protected]>

* Cleanup and more generic training function return type

* Make the inference main take the same module type as the annotated function

* Cleanup in macros

* Changed cli crate organization

Co-authored-by: Jonathan Richard <[email protected]>

* Crate generation for project

Co-authored-by: Jonathan Richard <[email protected]>

* Better crate creation.

Experiment can now be run from crate from CLI. General cleanup of macros. Only generate macros when necessary.

Co-authored-by: Jonathan Richard <[email protected]>

* build and copy

* Added back support for parallel runs

Co-authored-by: Jonathan Richard <[email protected]>

* Better parallel runs

Seems to be a little untable when using multiple backends at the same time.

Co-authored-by: Jonathan Richard <[email protected]>

* Better dependency management.

Moved codegen to crate gen (mostly).

Co-authored-by: Jonathan Richard <[email protected]>

* Added script to setup mold and cranelift for linux

* more efficient feature setup for heat cli builds

to prevent building heat-sdk-cli when building second cli

* training functions param injection

* add support for no params

* docs

* Separated cli in multiple files.

Organized crate generation in structs

Co-authored-by: Jonathan Richard <[email protected]>

* Encapsulated Heat dir and cli project context in structs for clearer code.

Co-authored-by: Jonathan Richard <[email protected]>

* clean up and refactor

better encapsulation for cli context, removed most getters and setters

* multidevice

* removed example

* fixed some warnings

* (wip) project packaging initial commit with a lot of code taken from cargo

pushing this as a backup for now

Co-authored-by: Thierry Cantin-Demers <[email protected]>

* Some refactors and fixes

Co-authored-by: Thierry Cantin-Demers <[email protected]>

* backup

* Temp changes for registry and code upload

Co-authored-by: Jonathan Richard <[email protected]>

* temp almost working

Co-authored-by: Jonathan Richard <[email protected]>

* first working runner

Co-authored-by: Jonathan Richard <[email protected]>

* Big runner refactor

Co-authored-by: Jonathan Richard <[email protected]>

* Cleanup and refactor

Co-authored-by: Jonathan Richard <[email protected]>

* Fix merge errors and make training funcs take any Error type.

Co-authored-by: Jonathan Richard <[email protected]>

* Removed script

* Replace UUIDs for names

Co-authored-by: Jonathan Richard <[email protected]>

* Fix runner

Co-authored-by: Jonathan Richard <[email protected]>

* Fixed merge problems.

Co-authored-by: Jonathan Richard <[email protected]>

* Working runner registration

Co-authored-by: Jonathan Richard <[email protected]>

* Added notice for cargo license

* Added structures needed to send code metadata to

* Added links to cargo source code that was copied + lint

Co-authored-by: Jonathan Richard <[email protected]>

---------

Co-authored-by: Thierry Cantin-Demers <[email protected]>
Co-authored-by: Jonathan Richard <[email protected]>
Co-authored-by: Thierry Cantin-Demers <[email protected]>
  • Loading branch information
4 people authored Sep 13, 2024
1 parent ead3d6e commit 8efe30c
Show file tree
Hide file tree
Showing 51 changed files with 6,899 additions and 944 deletions.
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

[*.rs]
indent_style = space
indent_size = 4
Loading

0 comments on commit 8efe30c

Please sign in to comment.