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

tests on GPU - plots #749

Merged
merged 3 commits into from
May 19, 2024
Merged

tests on GPU - plots #749

merged 3 commits into from
May 19, 2024

Conversation

juliasloan25
Copy link
Member

@juliasloan25 juliasloan25 commented Apr 23, 2024

Purpose

We want to be able to produce plots in GPU runs. The easiest way to do this is to create a CPU-based space and copy all of the data over to that, then plot them. This will allocate a lot, but will still be useful for debugging and postprocessing

ncep_visualizer.jl and amip_visualizer.jl already work on GPU.

closes #750

Note: I think this same approach could be applied to the animations in viz_explorer, but I think it would involve creating a new space/field on CPU for each field at each timestep we want to plot. This will be really resource intensive, and I don't think it's worth doing until we have a cleaner way of transferring fields from GPU to CPU.

This was initially implemented in #614 but not merged there

To-do

  • plot_helper.jl
  • debug plots
  • ci_plots.jl

To test

  • run debug_plots test
  • run driver with ci_plots = true (e.g. slabplanet_atmos_diags)

  • I have read and checked the items on the review checklist.

@juliasloan25 juliasloan25 force-pushed the js/gpu-plots branch 11 times, most recently from a01d372 to 543bcf4 Compare May 17, 2024 05:21
@@ -0,0 +1,22 @@
anim: false
Copy link
Member Author

Choose a reason for hiding this comment

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

This config is copied from config/ci_configs/slabplanet_atmos_diags.yml. Once we remove job_id from inside the config file, we won't need to have both the CPU and GPU versions (though we'll have to make sure we always use anim: false for GPU runs)

Copy link
Collaborator

Choose a reason for hiding this comment

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

We can always dispatch the plot_anim on device and do nothing for GPU.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good idea!

@juliasloan25 juliasloan25 force-pushed the js/gpu-plots branch 6 times, most recently from 4f10ad0 to be088fe Compare May 17, 2024 17:05
@juliasloan25 juliasloan25 requested a review from LenkaNovak May 17, 2024 18:58
Copy link
Collaborator

@LenkaNovak LenkaNovak left a comment

Choose a reason for hiding this comment

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

LGTM, thank you, @juliasloan25 ! It would be good to include the debug plot output in the CI runs, otherwise it's good to go.

@@ -0,0 +1,22 @@
anim: false
Copy link
Collaborator

Choose a reason for hiding this comment

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

We can always dispatch the plot_anim on device and do nothing for GPU.

.buildkite/pipeline.yml Show resolved Hide resolved
@juliasloan25 juliasloan25 force-pushed the js/gpu-plots branch 4 times, most recently from 6cd0da1 to c11daba Compare May 18, 2024 07:03
@juliasloan25 juliasloan25 enabled auto-merge May 19, 2024 03:49
@juliasloan25 juliasloan25 merged commit 96ed2f0 into main May 19, 2024
7 checks passed
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.

tests on GPU - plots
2 participants