Hill Climbing with Montecarlo: An Assignment for OpenMP, MPI, and CUDA/OpenCL
DescriptionWe 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.
Event Type
TimeMonday, 14 November 20224:40pm - 4:50pm CST
Registration Categories
Session Formats
Back To Top Button