TY - GEN
T1 - The minos computing library
T2 - 13th Annual Workshop on General Purpose Processing using Graphics Processing Unit, GPGPU 2020
AU - Gioiosa, Roberto
AU - Mutlu, Burcu O.
AU - Lee, Seyong
AU - Vetter, Jeffrey S.
AU - Picierro, Giulio
AU - Cesati, Marco
N1 - Publisher Copyright:
© 2020 Association for Computing Machinery.
PY - 2020/2/23
Y1 - 2020/2/23
N2 - Hardware specialization has become the silver bullet to achieve efficient high performance, from Systems-on-Chip systems, where hardware specialization can be "extreme", to large-scale HPC systems. As the complexity of the systems increases, so does the complexity of programming such architectures in a portable way. This work introduces the Minos Computing Library (MCL), as system software, programming model, and programming model runtime that facilitate programming extremely heterogeneous systems. MCL supports the execution of several multi-threaded applications within the same compute node, performs asynchronous execution of application tasks, efficiently balances computation across hardware resources, and provides performance portability. We show that code developed on a personal desktop automatically scales up to fully utilize powerful workstations with 8 GPUs and down to power-efficient embedded systems. MCL provides up to 17.5x speedup over OpenCL on NVIDIA DGX-1 systems and up to 1.88x speedup on single-GPU systems. In multi-application workloads, MCL's dynamic resource allocation provides up to 2.43x performance improvement over manual, static resources allocation.
AB - Hardware specialization has become the silver bullet to achieve efficient high performance, from Systems-on-Chip systems, where hardware specialization can be "extreme", to large-scale HPC systems. As the complexity of the systems increases, so does the complexity of programming such architectures in a portable way. This work introduces the Minos Computing Library (MCL), as system software, programming model, and programming model runtime that facilitate programming extremely heterogeneous systems. MCL supports the execution of several multi-threaded applications within the same compute node, performs asynchronous execution of application tasks, efficiently balances computation across hardware resources, and provides performance portability. We show that code developed on a personal desktop automatically scales up to fully utilize powerful workstations with 8 GPUs and down to power-efficient embedded systems. MCL provides up to 17.5x speedup over OpenCL on NVIDIA DGX-1 systems and up to 1.88x speedup on single-GPU systems. In multi-application workloads, MCL's dynamic resource allocation provides up to 2.43x performance improvement over manual, static resources allocation.
KW - Asynchronous runtime
KW - GPU
KW - Heterogeneous systems
KW - System software
KW - Task-based runtime
UR - http://www.scopus.com/inward/record.url?scp=85082054349&partnerID=8YFLogxK
U2 - 10.1145/3366428.3380770
DO - 10.1145/3366428.3380770
M3 - Conference contribution
AN - SCOPUS:85082054349
T3 - GPGPU 2020 - Proceedings of the 2020 General Purpose Processing Using GPU
SP - 1
EP - 10
BT - GPGPU 2020 - Proceedings of the 2020 General Purpose Processing Using GPU
PB - Association for Computing Machinery, Inc
Y2 - 23 February 2020 through 23 February 2020
ER -