-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split AutoTuner for Profiling and Qualification and Override BATCH_SIZE_BYTES #1471
Conversation
Signed-off-by: Partho Sarthi <[email protected]>
Signed-off-by: Partho Sarthi <[email protected]>
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 @parthosa
LGTME!
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. Thanks @parthosa !
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.
LGTME
Thanks @parthosa
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 @parthosa! Very minor nits.
val minOverhead = executorMemOverhead + (MIN_PINNED_MEMORY_MB + MIN_SPILL_MEMORY_MB) | ||
val minOverhead = executorMemOverhead + ( | ||
autoTunerConfigsProvider.MIN_PINNED_MEMORY_MB + autoTunerConfigsProvider.MIN_SPILL_MEMORY_MB | ||
) |
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.
QQ: is there a reason we perform (autoTunerConfigsProvider.MIN_PINNED_MEMORY_MB + autoTunerConfigsProvider.MIN_SPILL_MEMORY_MB)
first?
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.
I think the braces were added for readability, to distinguish that MIN_PINNED_MEMORY_MB
and MIN_SPILL_MEMORY_MB
are constants, while executorMemOverhead
is a calculated value.
core/src/main/scala/com/nvidia/spark/rapids/tool/tuning/AutoTuner.scala
Outdated
Show resolved
Hide resolved
core/src/main/scala/com/nvidia/spark/rapids/tool/tuning/QualificationAutoTunerRunner.scala
Outdated
Show resolved
Hide resolved
core/src/main/scala/com/nvidia/spark/rapids/tool/tuning/QualificationAutoTunerRunner.scala
Outdated
Show resolved
Hide resolved
Signed-off-by: Partho Sarthi <[email protected]>
026e735
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 @parthosa! LGTM.
Fixes #1470.
Fixes #1399.
This PR refactors the AutoTuner into different classes for the Qualification and Profiling tools. This separation allows us to provide recommendations based on the specific tool being used.
For example, with this change, the AutoTuner for the Qualification tool will now recommend
BATCH_SIZE_BYTES
as 1GB, while the AutoTuner for Profiling tool will recommend 2GB.Changes:
Refactored
object AutoTuner
intotrait AutoTunerConfigsProvider
:QualificationAutoTunerConfigsProvider
andProfilingAutoTunerConfigsProvider
.BATCH_SIZE_BYTES
inQualificationAutoTunerConfigsProvider
.Extended
class AutoTuner
toQualificationAutoTuner
:Refactored
AutoTunerSuite
intoBaseAutoTunerSuite
:ProfilingAutoTunerSuite
andQualificationAutoTunerSuite
.Renamed the existing class
QualificationAutoTuner
toQualificationAutoTunerRunner
: