Workshop: EduHPC-23: Workshop on Education for High Performance Computing
Authors: Diego García-Álvarez (Universidad de Valladolid) and Arturo Gonzalez-Escribano (University of Valladolid, Spain)
Abstract: We introduce the sixth example in a series of assignments used in a Parallel Computing course to teach approaches to solving the same problem with different parallel programming models. This assignment is based on the K-means clustering algorithm. The program is intentionally designed to be straightforward and easily understandable for students, while also providing specific parallelization and optimization opportunities. It is a simpler example than the previously presented assignments in this series, focusing mainly on key base concepts that many students find complex to apply in a practical case: Race-conditions, reductions, and collective operations. It proposes a clear and guided parallelization and optimization strategy across the different programming models. This assignment can be used to establish a solid foundation before tackling more advanced concepts or parallel structures. This assignment was successfully used as a practical assignment in a Parallel Computing course in the third year of a Computer Engineering degree.
Back to EduHPC-23: Workshop on Education for High Performance Computing Archive Listing