Describir: Evolving OpenMP in an Age of Extreme Parallelism