“…• An implied code organization: separation of responsibilities among hardware-agnostic logic, hardware-specific logic, and hardware runtimes. Frameworks such as KOKKOS [28], RAJA [18], DPC++ [15], Ope-nACC, OpenMP [24], Legion [22], Boost Compute [26], and Grid Tools [27] are the current state of the art for providing a consistent API to heterogeneous accelerator resources. However, these current solutions fall notably short in providing the mentioned components required to enable a high degree of portability to an application.…”