Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

him-28/ELM-Kernels

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ELM Kernels

Kernels lifted from ELM, enucleated of their data structures, and then re-wrapped in a variety of drivers.

To build, see INSTALL.md in the top level directory.

ELM modules covered:

CanopyHydrologyMod

Kernels include:

  • Interception: partitions incoming precip into throughfall/precip
  • Fraction Wet/Dry: identifies fraction of LAI that is wet and dry
  • SnowWater: deals with a bunch of water balance aspects of the snowpack
  • Fraction H2O on the surface: partitions water streams between surface and soil column

Work Plan

Single kernel and single grid cell tests/questions:

  • how do we write kernels such that they can be called by: (Ethan)

    • fortran
    • c
    • Legion
    • Kokkos
  • how do we wrap a kernel for Legion (Himanshu)

    • sequence of blocked tasks
    • sequence of non-blocked tasks (based on futures)

Single kernel and multiple grid cell tests/questions: (Himanshu / Ethan)

  • work out how to use IndexSpace/FieldSpace

Multiple kernel and multiple grid cell tests (module test): (Ethan / Himanshu)

  • IndexSpace/FieldSpace + actual task graph that isn't trivial

Module level part 2: (Dali / Ethan / Himanshu)

  • Implement driver with ACTUAL ELM data layout (with filter / lake PFTs / ???) (masking??)
  • compare alternative data layouts
    • ragged layouts (no filter)
    • fixed layout with no filter (maybe better for threading models e.g. GPUs?)

automation...

  • automated kernel generation
  • automated C kernel wrapper
  • automated Legion wrappers?

and beyond...

  • integrate with ATS

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published