You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Back in the olden days, the rebuild argument was there to help manage the cache for users of the build API. We now have no one using the build API, so that has stopped being relevant.
In the TKML 1.0 era, the rebuild argument was primarily useful for "build once, benchmark elsewhere" workflows. However, we now have the turnkey cache benchmark command which is a much better way to benchmark a prebuilt model. rebuild has also stopped being relevant there.
In the TKML Refresh, commands are much more explicit. If I call turnkey -i model.py discover export-pytorch I expect it to do the thing! Not say "there was a cache hit, so I ignored your command." I find myself always using rebuild=always when I use TKML 2.0.
Finally, in TKML 2.0, it is easy to add a new front-end Stage along the lines of load-build, that would load a build from the cache and pass it to the next Stage. This would enable things like turnkey -i cache/* load-build benchmark to be a much more general replacement for turnkey cache benchmark
Can we get rid of the rebuild argument at the CLI level? My proposal is to set rebuild=always as the default at the CLI->build_api interface. We can keep rebuild=if_needed as the default in the build API.
Should we implement load-build and use it to phase out turnkey cache benchmark?
The text was updated successfully, but these errors were encountered:
jeremyfowers
changed the title
rebuild="if_needed" is a poor default now, because a cache hit on the CLI will rarely do what the user asked for. Suggest changing the default to "always" or even getting rid of the --rebuild argument at the CLI level.
rebuild="if_needed" is a poor default now, because a cache hit on the CLI will rarely do what the user asked for
Jul 3, 2024
jeremyfowers
changed the title
rebuild="if_needed" is a poor default now, because a cache hit on the CLI will rarely do what the user asked for
Remove rebuild argument at the CLI level
Jul 3, 2024
@danielholanda please consider the following:
Back in the olden days, the
rebuild
argument was there to help manage the cache for users of the build API. We now have no one using the build API, so that has stopped being relevant.In the TKML 1.0 era, the
rebuild
argument was primarily useful for "build once, benchmark elsewhere" workflows. However, we now have theturnkey cache benchmark
command which is a much better way to benchmark a prebuilt model.rebuild
has also stopped being relevant there.In the TKML Refresh, commands are much more explicit. If I call
turnkey -i model.py discover export-pytorch
I expect it to do the thing! Not say "there was a cache hit, so I ignored your command." I find myself always usingrebuild=always
when I use TKML 2.0.Finally, in TKML 2.0, it is easy to add a new front-end Stage along the lines of
load-build
, that would load a build from the cache and pass it to the next Stage. This would enable things liketurnkey -i cache/* load-build benchmark
to be a much more general replacement forturnkey cache benchmark
@danielholanda questions for you:
rebuild
argument at the CLI level? My proposal is to setrebuild=always
as the default at the CLI->build_api interface. We can keeprebuild=if_needed
as the default in the build API.load-build
and use it to phase outturnkey cache benchmark
?The text was updated successfully, but these errors were encountered: