Task-Based Performance Portability in HPC