  Recent trends and advancement in including more diverse and heterogeneous
hardware in High-Performance Computing is challenging software developers in
their pursuit for good performance and numerical stability. The well-known
maxim "software outlives hardware" may no longer necessarily hold true, and
developers are today forced to re-factor their codebases to leverage these
powerful new systems. CFD is one of the many application domains affected. In
this paper, we present Neko, a portable framework for high-order spectral
element flow simulations. Unlike prior works, Neko adopts a modern
object-oriented approach, allowing multi-tier abstractions of the solver stack
and facilitating hardware backends ranging from general-purpose processors down
to exotic vector processors and FPGAs. We show that Neko's performance and
accuracy are comparable to NekRS, and thus on-par with Nek5000's successor on
modern CPU machines. Furthermore, we develop a performance model, which we use
to discuss challenges and opportunities for high-order solvers on emerging
hardware.
