Skip to content

Fix profiling AutoTuner RAPIDS property lookup - #2152

Merged
amahussein merged 1 commit into
NVIDIA:devfrom
amahussein:tools-2142-autotuner-rapids-props
Sep 9, 2026
Merged

amahussein merged 1 commit into
NVIDIA:devfrom
amahussein:tools-2142-autotuner-rapids-props

Conversation

@amahussein

Copy link
Copy Markdown
Collaborator

Fixes #2142.

Profiling builds separate general Spark and RAPIDS property views, but SingleAppSummaryInfoProvider.getAllProperties exposed only the general view. Since the AutoTuner uses that method as its source map, it treated configured spark.rapids.* values as absent, emitted false was not set comments, and ignored those values during tuning.

This change returns both views. They are projections of the same application property map, so overlapping keys carry the same value.

Two behavior changes follow from the AutoTuner now seeing these values, and both are intended. Updated-only filtering now applies correctly to enabled, non-preserved RAPIDS settings, so a --conf line is omitted when the source value already matches the recommendation, consistent with other Spark properties. Event-log values for two spark.rapids.sql.hybrid.* flags can now participate in on-prem off-heap sizing and may change related memory recommendations; target-enforced values already worked.

Three existing expected outputs are updated because they encoded the bug: the checked-in event log sets the RAPIDS properties associated with the removed comments, so the old passing assertions expected incorrect comments. Truly absent properties, including spark.rapids.sql.enabled in this fixture, remain reported as unset. An existing target-cluster test is extended to assert that a preserve entry retains the RAPIDS value from the event log, which fails if the provider change is reverted.

Testing:

  • mvn -Dbuildver=357 verify (992 tests passed)
  • mvn -Dbuildver=357 -Pscala213 verify (992 tests passed)
  • Five focused AutoTuner/provider suites (271 tests passed)
  • ClusterRecommendationSuite under Scala 2.12 and 2.13 (13 tests passed in each profile)
  • spark_rapids profiling before/after replay over gpu_oom_eventlog.zstd (only false missing-property comments removed)

Fixes NVIDIA#2142

Include RAPIDS properties in the profiling provider's all-properties map so AutoTuner source lookups see values recorded in the event log. Update the three affected expectations, which previously encoded false missing-property comments.

Test profiling RAPIDS property preservation

Signed-off-by: Ahmed Hussein <ahussein@nvidia.com>
@amahussein
amahussein requested a review from parthosa September 9, 2026 18:06
@amahussein amahussein self-assigned this Sep 9, 2026
@amahussein amahussein added bug Something isn't working autotuner labels Sep 9, 2026
@github-actions github-actions Bot added the core_tools Scope the core module (scala) label Sep 9, 2026
@greptile-apps

greptile-apps Bot commented Sep 9, 2026

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge, with the provider behavior aligned to its all-properties contract and regression coverage for the affected tuning paths.

Summary

  • Prevents configured spark.rapids.* values from being treated as absent.
  • Updates expected tuning output to remove false missing-property comments.
  • Extends cluster recommendation coverage to verify that a preserved RAPIDS property retains its event-log value.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Application Spark properties] --> B[General Spark property view]
  A --> C[RAPIDS property view]
  B --> D[SingleAppSummaryInfoProvider.getAllProperties]
  C --> D
  D --> E[AutoTuner source properties]
  E --> F[Recommendations and updated-only filtering]
  E --> G[Target-cluster preserve and enforce handling]
Loading

@amahussein
amahussein merged commit 6d93389 into NVIDIA:dev Sep 9, 2026
19 checks passed
@amahussein
amahussein deleted the tools-2142-autotuner-rapids-props branch September 9, 2026 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autotuner bug Something isn't working core_tools Scope the core module (scala)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Profiling AutoTuner reports spark.rapids.* properties the application set as "was not set"

1 participant