Skip to content

Getting started on interoperability tutorial#2154

Open
brownbaerchen wants to merge 11 commits intohelmholtz-analytics:features/2088-Interoperability_tutorialfrom
brownbaerchen:interoperability_tutorial
Open

Getting started on interoperability tutorial#2154
brownbaerchen wants to merge 11 commits intohelmholtz-analytics:features/2088-Interoperability_tutorialfrom
brownbaerchen:interoperability_tutorial

Conversation

@brownbaerchen
Copy link
Collaborator

Description

This is a start of the interoperability tutorial. I don't know if I am using heat the proper way yet, so I thought it best to start with basic numpy and then continue with other stuff. This is also why this PR is not targeting main, but a different branch.

Maybe I have mentioned once or twice that I am a big fan of jupytext. I have written the tutorial as a python file and set up a GitHub workflow that translates any python file in heat/tutorials/scripts to a notebook and uploads the resulting notebook as artifacts. These will then have to be included in the website.

This has the following advantages:

  • Easy to use with git: Just comment the python file while reviewing the PR
  • Easy to test: The GitHub workflow runs the python files before converting them to notebooks which is an easy smoke test
  • Users can copy-paste directly from the plain python file to get started. No need to copy from multiple cells in the notebook

Please give feedback on:

  • Is this really how to interoperate with numpy?
  • Do you like the jupytext workflow? (Don't forget to download the artifact with the finished notebook)

Finally, don't forget to squash and merge in the end in order to keep commit history clean! I needed quite a few tries to get the workflow to do what I want..

Changes proposed:

  • Tutorial on interoperating with numpy
  • GitHub workflow for use of jupytext in tutorials

@brownbaerchen brownbaerchen added the HeatHub The HeatHub project, as part of Science Serve, aims to foster the Heat community. label Feb 26, 2026
@github-project-automation github-project-automation bot moved this to Todo in Roadmap Feb 26, 2026
@brownbaerchen
Copy link
Collaborator Author

Issues we have discussed in today's meeting:

  • Users need to be able to use ipyparallel kernel to run notebooks in parallel -> Check out how easy that is to do with a jupytext-generated notebook
  • Jupytext-generated notebooks have output from random MPI rank. Need to take care that relevant heat output, which is only printed on rank 0 by default shows up

I will post updates about these issues here.

@ClaudiaComito ClaudiaComito added this to the 1.8.0 milestone Mar 3, 2026
@ClaudiaComito ClaudiaComito moved this from Todo to In Progress in Roadmap Mar 4, 2026
@ClaudiaComito ClaudiaComito added the documentation Anything related to documentation label Mar 5, 2026
@ClaudiaComito
Copy link
Contributor

Thanks for getting this started @brownbaerchen . I think the content will require more work from all of us, so if you don't mind I'm moving this PR to Milestone 1.9.

I'll add some examples of numpy/pytorch interoperability later

@ClaudiaComito ClaudiaComito modified the milestones: 1.8.0, 1.9.0 Mar 5, 2026
@brownbaerchen
Copy link
Collaborator Author

Thanks for getting this started @brownbaerchen . I think the content will require more work from all of us, so if you don't mind I'm moving this PR to Milestone 1.9.

I'll add some examples of numpy/pytorch interoperability later

That's why this PR is not targeting main. Can you maybe provide some quick feedback on the little stuff that is in here so far? Just so I make sure that I actually understand the "proper" way.

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

Labels

documentation Anything related to documentation HeatHub The HeatHub project, as part of Science Serve, aims to foster the Heat community.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

2 participants