TY - GEN
T1 - Asynchronous execution of python code on task-based runtime systems
AU - Tohid, R.
AU - Wagle, Bibek
AU - Shirzad, Shahrzad
AU - Diehl, Patrick
AU - Serio, Adrian
AU - Kheirkhahan, Alireza
AU - Amini, Parsa
AU - Williams, Katy
AU - Isaacs, Kate
AU - Huck, Kevin
AU - Brandt, Steven
AU - Kaiser, Hartmut
N1 - Publisher Copyright:
© 2018 IEEE.
PY - 2018/7/2
Y1 - 2018/7/2
N2 - Despite advancements in the areas of parallel and distributed computing, the complexity of programming on High Performance Computing (HPC) resources has deterred many domain experts, especially in the areas of machine learning and artificial intelligence (AI), from utilizing performance benefits of such systems. Researchers and scientists favor high-productivity languages to avoid the inconvenience of programming in low-level languages and costs of acquiring the necessary skills required for programming at this level. In recent years, Python, with the support of linear algebra libraries like NumPy, has gained popularity despite facing limitations which prevent this code from distributed runs. Here we present a solution which maintains both high level programming abstractions as well as parallel and distributed efficiency. Phylanx, is an asynchronous array processing toolkit which transforms Python and NumPy operations into code which can be executed in parallel on HPC resources by mapping Python and NumPy functions and variables into a dependency tree executed by HPX, a general purpose, parallel, task-based runtime system written in C++. Phylanx additionally provides introspection and visualization capabilities for debugging and performance analysis. We have tested the foundations of our approach by comparing our implementation of widely used machine learning algorithms to accepted NumPy standards.
AB - Despite advancements in the areas of parallel and distributed computing, the complexity of programming on High Performance Computing (HPC) resources has deterred many domain experts, especially in the areas of machine learning and artificial intelligence (AI), from utilizing performance benefits of such systems. Researchers and scientists favor high-productivity languages to avoid the inconvenience of programming in low-level languages and costs of acquiring the necessary skills required for programming at this level. In recent years, Python, with the support of linear algebra libraries like NumPy, has gained popularity despite facing limitations which prevent this code from distributed runs. Here we present a solution which maintains both high level programming abstractions as well as parallel and distributed efficiency. Phylanx, is an asynchronous array processing toolkit which transforms Python and NumPy operations into code which can be executed in parallel on HPC resources by mapping Python and NumPy functions and variables into a dependency tree executed by HPX, a general purpose, parallel, task-based runtime system written in C++. Phylanx additionally provides introspection and visualization capabilities for debugging and performance analysis. We have tested the foundations of our approach by comparing our implementation of widely used machine learning algorithms to accepted NumPy standards.
KW - Array-computing
KW - Asynchronous
KW - HPX
KW - High-Performance-Computing
KW - Python
KW - Runtime-systems
UR - http://www.scopus.com/inward/record.url?scp=85063093486&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85063093486&partnerID=8YFLogxK
U2 - 10.1109/ESPM2.2018.00009
DO - 10.1109/ESPM2.2018.00009
M3 - Conference contribution
AN - SCOPUS:85063093486
T3 - Proceedings of ESPM2 2018: 4th International Workshop on Extreme Scale Programming Models and Middleware, Held in conjunction with SC 2018: The International Conference for High Performance Computing, Networking, Storage and Analysis
SP - 37
EP - 45
BT - Proceedings of ESPM2 2018
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 4th IEEE/ACM International Workshop on Extreme Scale Programming Models and Middleware, ESPM2 2018
Y2 - 12 November 2018
ER -