Skip to content

Qualx unit tests #1599

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

Merged
merged 7 commits into from
Mar 25, 2025
Merged

Qualx unit tests #1599

merged 7 commits into from
Mar 25, 2025

Conversation

leewyang
Copy link
Collaborator

This PR adds some basic unit tests for qualx.

Notes:

  • Some of these are arguably integration tests, since they exercise the profiler tool, xgboost, and optuna.
  • Since qualx is mostly a wrapper of these components, unit tests without these didn't seem very useful.
  • As such, I had to modify tox.ini to include these dependencies. Not sure if there is a better/preferred way to do this.
  • Preprocessing tests involving the Profiler tool have been moved to the E2E behave tests to pick up the compiled jar.

@github-actions github-actions bot added the user_tools Scope the wrapper module running CSP, QualX, and reports (python) label Mar 21, 2025
@leewyang leewyang changed the title Qualx unit tests [DRAFT] Qualx unit tests Mar 22, 2025
Signed-off-by: Lee Yang <[email protected]>
@leewyang leewyang self-assigned this Mar 22, 2025
@leewyang leewyang changed the title [DRAFT] Qualx unit tests Qualx unit tests Mar 22, 2025
@leewyang leewyang requested review from parthosa and amahussein March 22, 2025 00:52
Copy link
Collaborator

@amahussein amahussein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • For the eventlogs:

    • can we put a script or a readme to show steps on how to reproduce those eventlogs?
    • For gpu-eventlog: this is important as we might need to generate the eventlog as the RAPIDS plugin evolves.
  • Can we cleanup the Qualx warnings? There is an open issue for that [BUG] Reduce noise from Qualx logs #1535 . Those messages are heard to read and they pretty much show up everytime.

WARNING: Imputing missing features: ['fraction_supported', 'platform_databricks-aws', 'platform_databricks-azure', 'platform_dataproc', 'platform_emr', 'sqlOp_BatchEvalPython', 'sqlOp_CartesianProduct', 'sqlOp_CommandResult', 'sqlOp_CustomShuffleReader', 'sqlOp_DeserializeToObject', 'sqlOp_Execute InsertIntoHadoopFsRelationCommand csv', 'sqlOp_Execute InsertIntoHadoopFsRelationCommand json', 'sqlOp_Execute InsertIntoHadoopFsRelationCommand orc', 'sqlOp_Execute InsertIntoHadoopFsRelationCommand parquet', 'sqlOp_Execute InsertIntoHadoopFsRelationCommand text', 'sqlOp_Execute InsertIntoHadoopFsRelationCommand unknown', 'sqlOp_Generate', 'sqlOp_GenerateBloomFilter', 'sqlOp_GlobalLimit', 'sqlOp_HashAggregatePrefixGroupingSets', 'sqlOp_LocalLimit', 'sqlOp_MapElements', 'sqlOp_ObjectHashAggregate', 'sqlOp_OutputAdapter', 'sqlOp_PartialWindow', 'sqlOp_ReusedSort', 'sqlOp_RunningWindowFunction', 'sqlOp_Scan ExistingRDD', 'sqlOp_Scan ExistingRDD Delta Table Checkpoint', 'sqlOp_Scan ExistingRDD Delta Table State', 'sqlOp_Scan OneRowRelation', 'sqlOp_Scan csv', 'sqlOp_Scan jdbc', 'sqlOp_Scan json', 'sqlOp_Scan orc', 'sqlOp_Scan text', 'sqlOp_Scan unknown', 'sqlOp_SerializeFromObject', 'sqlOp_SortAggregate', 'sqlOp_SubqueryOutputBroadcast', 'sqlOp_TakeOrderedAndProject', 'sqlOp_WindowSort']
WARNING: Removing extra features: ['hasSqlID', 'jobStartTime_min', 'resourceProfileId', 'sqlOp_GpuBroadcastExchange', 'sqlOp_GpuBroadcastHashJoin', 'sqlOp_GpuBroadcastNestedLoopJoin', 'sqlOp_GpuCoalesceBatches', 'sqlOp_GpuColumnarExchange', 'sqlOp_GpuColumnarToRow', 'sqlOp_GpuCustomShuff
    When preprocessing the event logs                                                # tests/spark_rapids_tools_e2e/features/steps/preprocess_steps.py:84 6.913sn parquet', 'sqlOp_GpuShuffleCoalesce', 'sqlOp_GpuShuffledHashJoin', 'sqlOp_GpuSort', 'sqlOp_GpuTopN', 'sqlOp_GpuWindow']

@leewyang
Copy link
Collaborator Author

@amahussein thanks for the review. I added a short README.md describing that these eventlogs were basically obtained from our onprem training dataset (along with the fact that they were generated via running spark-rapids-benchmarks). Also, pinned the xgboost version.

As for cleaning up the warnings, I think we should keep that separate from this PR (which is solely focused on the testing side). Feel free to assign that other bug to me, if needed. Simplest thing would be to change most of those warnings to debug logs.

@leewyang leewyang requested a review from amahussein March 24, 2025 22:03
@amahussein
Copy link
Collaborator

As for cleaning up the warnings, I think we should keep that separate from this PR (which is solely focused on the testing side). Feel free to assign that other bug to me, if needed. Simplest thing would be to change most of those warnings to debug logs.

That sounds good to me.

Copy link
Collaborator

@amahussein amahussein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @leewyang
LGTME

@leewyang leewyang merged commit 9f742ed into NVIDIA:dev Mar 25, 2025
14 checks passed
@leewyang leewyang deleted the qualx_unit_tests branch March 25, 2025 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
user_tools Scope the wrapper module running CSP, QualX, and reports (python)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants