The range of computer architectures used in supercomputers today is growing in diversity. The Exascale machines due to be online by next year (2021) and the UK’s Tier-2 systems showcase the variety of architectures we need to think about: high-performance CPUs and GPUs from different hardware vendors. As HPC specialists, we need to write and maintain our codes to make sure they work efficiently on this wide and changing range of hardware. We want to write performance portable codes that run well everywhere. To do this we need robust ways to measure and evaluate performance portability, and we need to use write codes using programming models which are simultaneously performant and portable. This talk highlights some of the ongoing research into performance portability from the High Performance Computing Research Group at the University of Bristol.