https://medium.com/@oussamamellakh88/upc-vs-mpi-vs-cuda-choosing-the-right-parallel-programming-approach-850442ed2913