Parallel Programming for Modern High Performance Computing Systems