-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Separate backend from hybridize and refactor optimize_for kwargs #19543
Conversation
Signed-off-by: Serge Panev <spanev@nvidia.com>
Hey @Kh4L , Thanks for submitting the PR
CI supported jobs: [website, windows-gpu, unix-cpu, clang, windows-cpu, sanity, centos-cpu, unix-gpu, edge, centos-gpu, miscellaneous] Note: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
@samskalicky I updated the documentation to reflect the changes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the API cleanup @Kh4L
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the great work!
@mxnet-bot run ci [unix-cpu] |
Jenkins CI successfully triggered : [unix-cpu] |
Description
This PR separates the partitioning backend from hybridize.
hybridize
now clears any previous optimization, sets the CachedOp args and activate the hybridization.optimize_for
is responsible of setting the backend, backend options and running the partitioning with backend.If the user wish to use any partitioning backend, they have use optimize_for.
It also changes the default value of
optimize_for
'sclear
arg, making the chaining of the backend the default behavior.The PR also make the CachedOp kwargs explicit and documented :
static_alloc, static_shape, inline_limit, forward_bulk_size, backward_bulk_size
.Examples
How optimize_for changed
Before
After
How hybridize changed
Before
After
Hybridize can't be used to set the backend anymore, we now have to use
optimize_for
, which will call hybridize internally.How chaining backends changed
Before
After
clear
default value isFalse
, we simply chain themcc @samskalicky who helped to design the API offline and reviewed the
1.x
related PR #19386@mseth10 who helped by reviewing the
1.x
PR