GPU-centric Communication Schemes for HPC and ML Applications