Skip to content

Install PyHPC profiler kernels in Jupyter search path - #246

Open
robobryce wants to merge 1 commit into
NVIDIA:event/2026-07-cscs-summer-schoolfrom
robobryce:fix/pyhpc-kernelspec-prefix
Open

Install PyHPC profiler kernels in Jupyter search path#246
robobryce wants to merge 1 commit into
NVIDIA:event/2026-07-cscs-summer-schoolfrom
robobryce:fix/pyhpc-kernelspec-prefix

Conversation

@robobryce

@robobryce robobryce commented Jul 26, 2026

Copy link
Copy Markdown

Summary

Install the Nsightful kernelspecs under /usr/local/share/jupyter/kernels, make them readable/traversable by non-root users, and verify during the Docker build that an unprivileged user can discover both kernels.

Failure fixed

Event-head PyHPC CI run 30199357352 failed because the base test container could not find nsightful-nsys or nsightful-ncu. Inspection of the published image showed that nsightful install --sys-prefix placed the kernels under /usr/share/jupyter/kernels with root-owned 0700 directories. The non-root CI user could not traverse them.

Validation

  • inspected the exact published image layer and confirmed the old root-owned 0700 kernelspec directories
  • the Docker build now checks kernel discovery using the unprivileged nobody user
  • pre-commit and commit-signature checks pass
  • full CI image rebuild/test required because this changes the Docker image

@copy-pr-bot

copy-pr-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions

Copy link
Copy Markdown
Contributor

👋 Thank you for your contribution!

This pull request is from a forked repository so GitHub Actions will not be able to run CI. A maintainer will review your changes shortly and manually trigger the CI.

@maintainers Please review this PR when you have a chance and follow the instructions in the CONTRIBUTING.md file to trigger the CI.

@robobryce
robobryce force-pushed the fix/pyhpc-kernelspec-prefix branch from fec4296 to 6cdc29e Compare July 26, 2026 11:47
@robobryce

Copy link
Copy Markdown
Author

Additional exact regression proof:

  • extracted the kernelspec layer from the published 9ab4e66 PyHPC image
  • mounted the kernels under /usr/local/share/jupyter in a clean Python container running as UID/GID 65534
  • with the original root-owned 0700 directory modes, KernelSpecManager().get_all_specs() returned []
  • after the PR's chmod -R a+rX, the same non-root query returned ['nsightful-ncu', 'nsightful-nsys']

This directly reproduces the CI failure and validates the permissions portion of the fix.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants