For example, if the user requests a TPL (such as CUSP), but that TPL is not installed, the implementation should throw an exception or return an error code, not just print some error message to stderr. I see a similar approach to error handling when the memory space is wrong (e.g., lines 67-80 of KokkosKernels_SPGEMM_mkl_impl.hpp).
@trilinos/tpetra
For example, if the user requests a TPL (such as CUSP), but that TPL is not installed, the implementation should throw an exception or return an error code, not just print some error message to stderr. I see a similar approach to error handling when the memory space is wrong (e.g., lines 67-80 of KokkosKernels_SPGEMM_mkl_impl.hpp).