1. A method of executing compute kernels, comprising: comparing a kernel profile of a compute kernel to respective processor profiles of a plurality of processors in a heterogeneous computer system; and scheduling the compute kernel for execution based upon the comparing.