The growing computational needs of large-scale scientific software have driven the rise of heterogeneity in high performance computing (HPC) systems. Indeed, the efficiency of compute accelerators is unparalleled and all exascale class systems are based on these architectures. This scenario opens challenges for software performance portability and requires efforts at multiple level of optimizations and parameter tunning, from higher level systems-adoptable algorithms design to hardware level code-optimizations. The performance portability of a software can be enhanced by choosing appropriate programming models, data structures and transferring patterns, a strategy of parallelism, and compilers with appropriate flags, etc. In this talk, I am going to share my experience on performance portability enhancement specifically using OpenMP and relevant compilers, based on porting ECP application tools over different HPC systems. Also, my talk will include possible potential directions for future enhancement using emerging technologies like AI-driven auto tuning and reengineering of numerical algorithms.