Don't rely on Thrust's runtime_introspection.h in execution_policy.hpp
Make hardware_concurrency() a __host__ __device__ function