Skip to content
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

OMPT Target Offload Support #411

Merged
merged 26 commits into from
Oct 30, 2024
Merged

Conversation

jrmadsen
Copy link
Collaborator

Fixes OMPT support for OpenMP Target Offload applications

  • additionally fixes issue with perfetto

- generic tracing::get_clock_skew(...) function
- use github.com/ROCm/timemory instead of github.com/NERSC/timemory
- improved OMPT support
- new tmp_file::open member function (public)
- new tmp_file::touch member function (private)
- handle pid changing due to forking
- fix "unknown field type" error
- use new (generic) tracing::get_clock_skew(...) function
- fix warning regarding get_reserved_vector<bool>
- lib/omnitrace/library/ompt.cpp
- new component::ompt
  - uses category_region
- handle OMPT target offload buffer records
@jrmadsen jrmadsen added bug fix Fixes a bug perfetto Issue affects/involves perfetto features/capabilities timemory Issue affects/involves timemory features/capabilities OMPT OpenMP tools submodule Updates a git submodule new feature Introduces new feature labels Oct 24, 2024
@jrmadsen jrmadsen requested a review from dgaliffiAMD as a code owner October 24, 2024 22:20
dgaliffiAMD and others added 14 commits October 24, 2024 23:15
Make sure the latest cmake is installed.

Signed-off-by: David Galiffi <[email protected]>
Need to install crb enable before installing texinfo
Installing dnf-command(config-manager) is required to enable CRB for rockylinux 9.0
Required to build Dyninst
Add "${OMP_TARGET_COMPILER_DIR}/llvm/lib" to the BUILD_RPATH. This path is common to new and old versions of ROCm
Signed-off-by: David Galiffi <[email protected]>
- fixes for openmp::get_enum_label
- removed ignoring the first implicit task for non-main threads
@jrmadsen jrmadsen force-pushed the jomadsen/ompt-target-support branch from ac2ea1f to cf9a58e Compare October 30, 2024 07:37
@dgaliffiAMD dgaliffiAMD merged commit 5db537c into amd-staging Oct 30, 2024
42 of 44 checks passed
@dgaliffiAMD dgaliffiAMD deleted the jomadsen/ompt-target-support branch October 30, 2024 14:35
dgaliffiAMD added a commit that referenced this pull request Oct 30, 2024
dgaliffiAMD added a commit to dgaliffiAMD/rocprofiler-systems that referenced this pull request Oct 31, 2024
dgaliffiAMD added a commit to dgaliffiAMD/rocprofiler-systems that referenced this pull request Oct 31, 2024
* Porting from ROCm/omnitrace#411
* Improve OMPT support
* Add OpenMP target example to testing
* Update Timemory submodule to use ROCm/Timemory rather than
  NERSC/Timemory

Signed-off-by: David Galiffi <[email protected]>
dgaliffiAMD added a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 5, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
dgaliffiAMD added a commit to dgaliffiAMD/rocprofiler-systems that referenced this pull request Nov 6, 2024
* Porting from ROCm/omnitrace#411
* Improve OMPT support
* Add OpenMP target example to testing
* Update Timemory submodule to use ROCm/Timemory rather than
  NERSC/Timemory

Signed-off-by: David Galiffi <[email protected]>
dgaliffiAMD added a commit to dgaliffiAMD/rocprofiler-systems that referenced this pull request Nov 6, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
dgaliffiAMD added a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 7, 2024
- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Update `actions/upload-artifacts` to v4
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples
- Updated Ubuntu 20.04 workflows
dgaliffiAMD added a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 8, 2024
- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Update `actions/upload-artifacts` to v4
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples
- Updated Ubuntu 20.04 workflows
dgaliffiAMD added a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 18, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
dgaliffiAMD added a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 18, 2024
- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Update `actions/upload-artifacts` to v4
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples
- Updated Ubuntu 20.04 workflows
dgaliffiAMD added a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 20, 2024
- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Update `actions/upload-artifacts` to v4
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples
- Updated Ubuntu 20.04 workflows
dgaliffiAMD added a commit to dgaliffiAMD/rocprofiler-systems that referenced this pull request Nov 20, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
dgaliffiAMD added a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 20, 2024
- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples

Signed-off-by: David Galiffi <[email protected]>
dgaliffiAMD added a commit to dgaliffiAMD/rocprofiler-systems that referenced this pull request Nov 20, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
ashuverm pushed a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 22, 2024
- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples

Signed-off-by: David Galiffi <[email protected]>
ashuverm pushed a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 22, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
ashuverm pushed a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 27, 2024
- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples

Signed-off-by: David Galiffi <[email protected]>
ashuverm pushed a commit to ROCm/rocprofiler-systems that referenced this pull request Nov 27, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
vamovsik pushed a commit to ROCm/rocprofiler-systems that referenced this pull request Dec 5, 2024
- Fix for proto files not being viewable in Perfetto UI
  - Ported from ROCm/omnitrace#411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <[email protected]>
vamovsik pushed a commit to ROCm/rocprofiler-systems that referenced this pull request Dec 9, 2024
* OMPT Target Offload Support

- Porting from ROCm/omnitrace#411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples

Signed-off-by: David Galiffi <[email protected]>

* Resolve compilation warning with gcc 13

* Add test for ompt-target

---------

Signed-off-by: David Galiffi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug fix Fixes a bug new feature Introduces new feature OMPT OpenMP tools perfetto Issue affects/involves perfetto features/capabilities submodule Updates a git submodule timemory Issue affects/involves timemory features/capabilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants