Skip to content

Conversation

@jbonnell-amd
Copy link

@jbonnell-amd jbonnell-amd commented Oct 7, 2025

Motivation

Add rocprofiler-compute to TheRock build

Technical Details

  • Updated CMakeLists.txt under the profiler directory
    • Declared subproject for rocprofiler-compute with therock_cmake_subproject_declare()
    • Provides artifacts for rocprofiler-compute with therock_provide_artifact() call
  • Added artifact-rocprofiler-compute.toml to provide artifacts for rocprofiler-compute
  • Added necessary rocprofiler-compute dependencies to the root level requirements.txt
    • Needed to run CMake on the project
    • Open to alternative suggestions on how to approach this - these requirements were just copied over from the rocprofiler-compute corresponding requirements.txt file.
  • Tests will be added in a later PR, was running into issues with HIP compilation and could not get the build to pass locally even after adding amd-hip as a COMPILER_TOOLCHAIN in the declaration

Test Plan

Ensure that rocprofiler-compute is being added to TheRock, build passes locally

Test Result

Local build adds binaries from rocprofiler-compute to its corresponding /stage directory

Submission Checklist

@jbonnell-amd jbonnell-amd changed the title Adding rocprofiler-compute [DRAFT] Adding rocprofiler-compute Oct 7, 2025
requirements.txt Outdated
plotext
plotille
pymongo
pyyaml
Copy link
Contributor

Choose a reason for hiding this comment

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

pyyaml is cited earlier in the list.

It is preferred that some version restrictions are set for each dependency to have more control in the environment across different OS distros and python versions.

Is this entire list of modules required for build time? If so, why?

Copy link
Author

Choose a reason for hiding this comment

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

pyyaml is cited earlier in the list.

Oh good catch, the casing was different in the compute declaration so I must have missed that when removing duplicates. I removed the duplicate entry here.

It is preferred that some version restrictions are set for each dependency to have more control in the environment across different OS distros and python versions.

I reached out to the compute team to ask about version restrictions. This can be looked into next week, but it seems like version restrictions was not something that has been considered too much from their end.

Is this entire list of modules required for build time? If so, why?

When trying to build compute with TheRock, we get the following mandatory check that checks Python packages before building.

[rocprofiler-compute configure] -- Checking for required Python package dependencies...
[rocprofiler-compute configure] --   astunparse = yes
[rocprofiler-compute configure] --   colorlover = yes
[rocprofiler-compute configure] --   dash_bootstrap_components = yes
[rocprofiler-compute configure] --   dash_svg = yes
[rocprofiler-compute configure] --   dash = yes
[rocprofiler-compute configure] --   kaleido = yes
[rocprofiler-compute configure] --   matplotlib = yes
[rocprofiler-compute configure] --   numpy = yes
[rocprofiler-compute configure] --   pandas = yes
[rocprofiler-compute configure] --   plotext = yes
[rocprofiler-compute configure] --   plotille = yes
[rocprofiler-compute configure] --   pymongo = yes
[rocprofiler-compute configure] --   pyyaml = yes
[rocprofiler-compute configure] --   setuptools = yes
[rocprofiler-compute configure] --   sqlalchemy = yes
[rocprofiler-compute configure] --   tabulate = yes
[rocprofiler-compute configure] --   textual = yes
[rocprofiler-compute configure] --   textual_plotext = yes
[rocprofiler-compute configure] --   Skipping check for textual_fspicker
[rocprofiler-compute configure] --   tqdm = yes
[rocprofiler-compute configure] -- OK: Python dependencies available in current environment.

I can double check with the compute team about this, but I would assume this is a strict requirement if it's necessary to build. If any are missing, it errors out.

@jbonnell-amd jbonnell-amd marked this pull request as ready for review October 10, 2025 21:00
@jbonnell-amd jbonnell-amd changed the title [DRAFT] Adding rocprofiler-compute Adding rocprofiler-compute Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: TODO

Development

Successfully merging this pull request may close these issues.

2 participants