ClimaCoupler.jl icon indicating copy to clipboard operation
ClimaCoupler.jl copied to clipboard

make tests GPU-compatible

Open juliasloan25 opened this issue 1 year ago • 0 comments

Pursuing the goal of making the coupler entirely GPU-compatible, we should make sure our tests pass on GPU. part of #390

Current status

passes on GPU?

  • [x] aqua
  • [x] interfacer
  • [ ] regridder - not planned
  • [x] conservation checker
  • [ ] bcreader - not planned
  • [x] utilities
  • [x] time manager
  • [x] field exchanger
  • [ ] flux calculator
  • [ ] diagnostics
  • [ ] postprocessor
  • [x] checkpointer
  • [ ] coupled_sims experiment test - not planned
  • [x] leaderboard
  • [x] bucket component test
  • [x] atmos component test
  • [x] prescribed sea ice component test
  • [ ] eisenman sea ice component test - not planned
  • [x] slab ocean component test
  • [x] AMIP debug plots

To do

fixed by removing bycolumn

  • [ ] flux_calculator_tests.jl
    • uses bycolumn - get_field method not found

other

  • [ ] diagnostics_tests.jl
    • args to operation not isbits - FieldVector?
  • [x] debug_amip_plots.jl
    • plotting not GPU compatible
    • might work after applying changes from https://github.com/CliMA/ClimaCoupler.jl/pull/614/files#diff-f01ec1107a04223a7409af03497ce828cdf644af9d40d69a8110831c2142cf27R51-R83

not planned to make GPU-compatible

  • [ ] eisenman_seaice_tests.jl
    • planned to be used for academic exercises rather than final coupled model, so GPU compatibility isn't necessary
  • [ ] regridder_tests.jl
    • will be fixed by ClimaUtilities switch
  • [ ] bcreader_tests.jl
    • will be fixed by ClimaUtilities switch
  • [ ] postprocessor_tests.jl
    • NCDataset write (calls Regridder)
  • [ ] coupledsims experiment test
    • CC.Operators.LinearRemap uses scalar indexing
    • will require change in ClimaCore, or different remapping

Remaining roadblocks

  • use of bycolumn
    • flux_calculator_tests
  • file writing
    • diagnostics, checkpointer
### modify tests for GPU compatibility
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/748
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/736
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/750
### use ClimaUtilities for GPU compatibility
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/425
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/742

juliasloan25 avatar Jan 23 '24 23:01 juliasloan25