HPC in the cloud provides opportunities to improve resource utilization and reduce costs through elasticity and pay-as-you-go models. However, HPC applications often perform poorly in clouds due to communication overhead, multi-tenancy, and heterogeneity. Bridging this gap requires making clouds more HPC-aware through application-aware scheduling, dynamic load balancing, and enabling malleable jobs. This allows improving both HPC performance and cloud utilization.