HPX Smart Executors
Author/Presenters
Event Type
Workshop
Accelerators
Deep Learning
Exascale
GPU
Parallel Application Frameworks
Parallel Programming Languages, Libraries, Models
and Notations
SIGHPC Workshop
System Software
TimeSunday, November 12th11am -
11:30am
Location505
DescriptionThe performance of many parallel applications depends
on looplevel parallelism. However, manually
parallelizing all loops may result in degrading parallel
performance, as some of them cannot scale desirably to a
large number of threads. In addition, the overheads of
manually tuning loop parameters might prevent an
application from reaching its maximum parallel
performance. We illustrate how machine learning
techniques can be applied to address these challenges.
In this research, we develop a framework that is able to
automatically capture the static and dynamic information
of a loop. Moreover, we advocate a novel method by
introducing HPX smart executors for determining the
execution policy, chunk size, and prefetching distance
of an HPX loop to achieve higher possible performance by
feeding static information captured during compilation
and runtime-based dynamic information to our learning
model. Our evaluated execution results show that using
these smart executors can speed up the HPX execution
process by around 12% − 35% for the Matrix
Multiplication, Stream and 2D Stencil benchmarks
compared to setting their HPX loop’s execution
policy/parameters manually or using HPX
auto-parallelization techniques.




