Skip to content

Add ITTNotify CI workflow and smoke test#7258

Open
v4xsh wants to merge 6 commits intoTheHPXProject:masterfrom
v4xsh:ci-ittnotify-testing
Open

Add ITTNotify CI workflow and smoke test#7258
v4xsh wants to merge 6 commits intoTheHPXProject:masterfrom
v4xsh:ci-ittnotify-testing

Conversation

@v4xsh
Copy link
Copy Markdown
Contributor

@v4xsh v4xsh commented May 8, 2026

Proposed Changes

  • Add smoke test example exercising core ITT macros (task, sync, mark, thread naming)
  • Register itt_notify example subdirectory in examples/CMakeLists.txt
  • Add linux_debug_ittnotify.yml CI workflow that builds HPX with ITTNotify using ittapi as a standalone provider

Any background context you want to provide?

Follow-up to #7250. This uses intel/ittapi as a lightweight stand-in that provides the ittnotify headers and static library without needing a full VTune install.

Checklist

  • I have added a new feature and have added tests to go along with it.
  • I have fixed a bug and have added a regression test.
  • I have added a test using random numbers; I have made sure it uses a seed, and that random numbers generated are valid inputs for the tests.

v4xsh added 3 commits May 9, 2026 00:05
Signed-off-by: v4xsh <vanshdobhal11@gmail.com>
Signed-off-by: v4xsh <vanshdobhal11@gmail.com>
Signed-off-by: v4xsh <vanshdobhal11@gmail.com>
Copilot AI review requested due to automatic review settings May 8, 2026 18:43
@v4xsh v4xsh requested a review from hkaiser as a code owner May 8, 2026 18:43
@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented May 8, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 4 complexity · 0 duplication

Metric Results
Complexity 4
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@StellarBot
Copy link
Copy Markdown
Collaborator

Can one of the admins verify this patch?

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Signed-off-by: v4xsh <vanshdobhal11@gmail.com>
Copilot AI review requested due to automatic review settings May 8, 2026 22:03
@v4xsh v4xsh force-pushed the ci-ittnotify-testing branch from a577415 to 89a286f Compare May 8, 2026 22:03
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented May 9, 2026

@v4xsh Thanks for creating this!

In addition to the example you added (which doesn't really show any use of the ITT API, BTW), I'd like to see a test that verifies the API's use - perhaps by utilizing the ITT ref-collector from that repository (https://intel.github.io/ittapi/src/ref_collector.html)?

Signed-off-by: v4xsh <vanshdobhal11@gmail.com>
@v4xsh
Copy link
Copy Markdown
Contributor Author

v4xsh commented May 9, 2026

@v4xsh Thanks for creating this!

In addition to the example you added (which doesn't really show any use of the ITT API, BTW), I'd like to see a test that verifies the API's use - perhaps by utilizing the ITT ref-collector from that repository (https://intel.github.io/ittapi/src/ref_collector.html)?

Thanks! Updated the smoke test to use the ITT RAII wrappers directly (domain, task, string_handle, mark_context) and added the ittapi ref-collector to the CI workflow — it now builds the ref-collector, runs the test with INTEL_LIBITTNOTIFY64 set, and greps the log for __itt_domain_create / __itt_task_begin to verify the calls actually went through. Let me know if this looks good or if anything else is needed.

Copilot AI review requested due to automatic review settings May 9, 2026 18:40
@v4xsh v4xsh force-pushed the ci-ittnotify-testing branch from a44df9b to 9131b74 Compare May 9, 2026 18:40
@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented May 9, 2026

Thanks! Updated the smoke test to use the ITT RAII wrappers directly (domain, task, string_handle, mark_context) and added the ittapi ref-collector to the CI workflow — it now builds the ref-collector, runs the test with INTEL_LIBITTNOTIFY64 set, and greps the log for __itt_domain_create / __itt_task_begin to verify the calls actually went through. Let me know if this looks good or if anything else is needed.

Thanks! We should make the CI fail if the log doesn't contain the outputs you're looking for, though.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@v4xsh
Copy link
Copy Markdown
Contributor Author

v4xsh commented May 9, 2026

Thanks! Updated the smoke test to use the ITT RAII wrappers directly (domain, task, string_handle, mark_context) and added the ittapi ref-collector to the CI workflow — it now builds the ref-collector, runs the test with INTEL_LIBITTNOTIFY64 set, and greps the log for __itt_domain_create / __itt_task_begin to verify the calls actually went through. Let me know if this looks good or if anything else is needed.

Thanks! We should make the CI fail if the log doesn't contain the outputs you're looking for, though.

Yep, the verify step already fails the CI if the expected calls aren't in the log. Waiting on this run to confirm everything looks good.

@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented May 9, 2026

Thanks! Updated the smoke test to use the ITT RAII wrappers directly (domain, task, string_handle, mark_context) and added the ittapi ref-collector to the CI workflow — it now builds the ref-collector, runs the test with INTEL_LIBITTNOTIFY64 set, and greps the log for __itt_domain_create / __itt_task_begin to verify the calls actually went through. Let me know if this looks good or if anything else is needed.

Thanks! We should make the CI fail if the log doesn't contain the outputs you're looking for, though.

Yep, the verify step already fails the CI if the expected calls aren't in the log. Waiting on this run to confirm everything looks good.

You may need to pass the command line option --hpx:ini=hpx.use_itt_notify!=1, otherwise the bindings are disabled. Alternatively, use HPX_HAVE_ITTNOTIFY=1 as an environment variable.

Signed-off-by: v4xsh <vanshdobhal11@gmail.com>
@v4xsh v4xsh force-pushed the ci-ittnotify-testing branch from 9131b74 to 0844d80 Compare May 9, 2026 19:24
@v4xsh
Copy link
Copy Markdown
Contributor Author

v4xsh commented May 9, 2026

Thanks! Updated the smoke test to use the ITT RAII wrappers directly (domain, task, string_handle, mark_context) and added the ittapi ref-collector to the CI workflow — it now builds the ref-collector, runs the test with INTEL_LIBITTNOTIFY64 set, and greps the log for __itt_domain_create / __itt_task_begin to verify the calls actually went through. Let me know if this looks good or if anything else is needed.

Thanks! We should make the CI fail if the log doesn't contain the outputs you're looking for, though.

Yep, the verify step already fails the CI if the expected calls aren't in the log. Waiting on this run to confirm everything looks good.

You may need to pass the command line option --hpx:ini=hpx.use_itt_notify!=1, otherwise the bindings are disabled. Alternatively, use HPX_HAVE_ITTNOTIFY=1 as an environment variable.

Good call, that was the issue. Added HPX_HAVE_ITTNOTIFY=1 as an env var in the test step so the bindings are enabled when the ref-collector runs.

@hkaiser hkaiser added this to the 2.0.0 milestone May 9, 2026
Copy link
Copy Markdown
Contributor

@hkaiser hkaiser left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants