Performance Portable Parallel Programming - Target CUDA and OpenMP in a Unified Codebase