  Modern GPUs are designed for regular problems and suffer from load imbalance
when processing irregular data. Prior to our work, a domain expert selects the
best kernel to map fine-grained irregular parallelism to a GPU. We instead
propose Seer, an abstraction for producing a simple, reproduceable, and
understandable decision tree selector model which performs runtime kernel
selection for irregular workloads. To showcase our framework, we conduct a case
study in Sparse Matrix Vector Multiplication (SpMV), in which Seer predicts the
best strategy for a given dataset with an improvement of 2$\times$ over the
best single iteration kernel across the entire SuiteSparse Matrix Collection
dataset.
