Developing software to take advantage of heterogeneous hardware resources in HPC scenarios is a complex task with many associated variables, but also creates many possibilities and opportunities for solving larger problems that a single processor cannot handle. Depending on the mapping of tasks to the hardware, vastly different execution times are possible. This work proposes and implements a novel model for self-optimizing the execution time of independent tasks in heterogeneous environments by using the abstraction concept of a virtual group of processor cores provided by the StarPU library. We design and implement an innovative model that combines virtual groups of processors, scheduling policies, and estimations, optimizing the overall execution time, and using just a small fraction of the time required to execute the tasks. This approach allows us to automatically achieve the self-optimization of the overall execution time, leading to the minimization of the overall execution time of tasks, allowing developers to automatically take advantage and extract more performance from the same available hardware.
Speaker Bio:
Joao Gabriel Felipe Machado Gazolla is a former Postdoctoral Research Associate in Computational and Predictive Biology at Oak Ridge National Laboratory, where he worked with terabyte-level datasets and exascale computing. He holds a BS, MS, and Ph.D. in Computer Science, primarily interested in HPC, GPU Computing, Heterogeneous Computing, Optimization, and Performance. Previously, he worked as a Researcher and Software Engineer in the Media Lab at Federal Fluminense University (UFF) in Rio de Janeiro, Brazil. During his time there, he optimized GPU performance in various areas using CUDA, including the processing of generic workloads of tasks on heterogeneous machines, logistics, oil and gas, weather forecasting, and thermal image processing. Other interests include data structures, algorithms, C/C++, and Python. For more information, please visit https://www.linkedin.com/in/gabrielgazolla/.