SC22 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Workshops Archive

Hill Climbing with Montecarlo: An Assignment for OpenMP, MPI, and CUDA/OpenCL

Workshop: EduHPC-22: Workshop on Education for High Performance Computing

Authors: Arturo Gonzalez-Escribano, Yuri Torres, and Rocío Carratalá-Sáez (University of Valladolid, Spain)

Abstract: We present the fifth example in a series of assignments used in a Parallel Computing course to teach the approaches to the same problem in different parallel programming models. It targets concepts of shared-memory programming, distributed-memory programming, and/or GPU programming. This assignment is based on a Montecarlo probabilistic approach for a Hill Climbing algorithm, in order to locate the maximum values of a two dimensional function. The program is designed to be simple, easy to understand by students, and to include specific parallelization and optimization opportunities. It maintains the same core concepts used in four previously presented assignments, with a different design approach. It focus on dealing with non-determinism during execution, the impact of randomization on load-balance, and new relevant optimization challenges. This assignment has been successfully used in parallel programming contests during an optional Parallel Programming course in the third year of Computer Engineering degree.

Back to EduHPC-22: Workshop on Education for High Performance Computing Archive Listing

Back to Full Workshop Archive Listing