LLNL / apollo

Apollo: Online Machine Learning for Performance Portability
Other
22 stars 9 forks source link

Added a Kokkos connector #12

Closed DavidPoliakoff closed 2 years ago

DavidPoliakoff commented 3 years ago

Right now the workflow for tuning Kokkos with Apollo is a bit screwy. I download and install Apollo, then I build a connector on top of it (kokkos/kokkos-tools#89), that just links in Apollo. With this PR, I add the connector code to Apollo itself. Critically, if users don't interface with Kokkos, this does absolutely nothing, this code functionally doesn't exist. Also, no dependency on Kokkos is induced, the headers you need for this kind of support are completely separable from Kokkos (these are the headers in connectors/kokkos/include/impl). What's neat here is that as Apollo develops, we don't need to tell people to check out and maintain two repos, they just build Apollo, set KOKKOS_PROFILE_LIBRARY, and be done with it.

I'm going to do some code cleanup, but is this methodology kosher? Or should we maintain that separation?

DavidPoliakoff commented 3 years ago

Oops, thought this was made as a draft, converting it now.