Zane Fink, Simeng Liu, Jaemin Choi, M. Diener, L. Kalé
{"title":"Python并行编程模型的性能评估:与mpi4py","authors":"Zane Fink, Simeng Liu, Jaemin Choi, M. Diener, L. Kalé","doi":"10.1109/ESPM254806.2021.00010","DOIUrl":null,"url":null,"abstract":"Python is rapidly becoming the lingua franca of machine learning and scientific computing. With the broad use of frameworks such as Numpy, SciPy, and TensorFlow, scientific computing and machine learning are seeing a productivity boost on systems without a requisite loss in performance. While high-performance libraries often provide adequate performance within a node, distributed computing is required to scale Python across nodes and make it genuinely competitive in large-scale high-performance computing. Many frameworks, such as Charm4Py, DaCe, Dask, Legate Numpy, mpi4py, and Ray, scale Python across nodes. However, little is known about these frameworks’ relative strengths and weaknesses, leaving practitioners and scientists without enough information about which frameworks are suitable for their requirements. In this paper, we seek to narrow this knowledge gap by studying the relative performance of two such frameworks: Charm4Py and mpi4py.We perform a comparative performance analysis of Charm4Py and mpi4py using CPU and GPU-based microbenchmarks other representative mini-apps for scientific computing.","PeriodicalId":155761,"journal":{"name":"2021 IEEE/ACM 6th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Performance Evaluation of Python Parallel Programming Models: and mpi4py\",\"authors\":\"Zane Fink, Simeng Liu, Jaemin Choi, M. Diener, L. Kalé\",\"doi\":\"10.1109/ESPM254806.2021.00010\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Python is rapidly becoming the lingua franca of machine learning and scientific computing. With the broad use of frameworks such as Numpy, SciPy, and TensorFlow, scientific computing and machine learning are seeing a productivity boost on systems without a requisite loss in performance. While high-performance libraries often provide adequate performance within a node, distributed computing is required to scale Python across nodes and make it genuinely competitive in large-scale high-performance computing. Many frameworks, such as Charm4Py, DaCe, Dask, Legate Numpy, mpi4py, and Ray, scale Python across nodes. However, little is known about these frameworks’ relative strengths and weaknesses, leaving practitioners and scientists without enough information about which frameworks are suitable for their requirements. In this paper, we seek to narrow this knowledge gap by studying the relative performance of two such frameworks: Charm4Py and mpi4py.We perform a comparative performance analysis of Charm4Py and mpi4py using CPU and GPU-based microbenchmarks other representative mini-apps for scientific computing.\",\"PeriodicalId\":155761,\"journal\":{\"name\":\"2021 IEEE/ACM 6th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)\",\"volume\":\"33 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE/ACM 6th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ESPM254806.2021.00010\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE/ACM 6th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ESPM254806.2021.00010","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
摘要
Python正迅速成为机器学习和科学计算的通用语言。随着Numpy、SciPy和TensorFlow等框架的广泛使用,科学计算和机器学习在没有必要的性能损失的情况下提高了系统的生产力。虽然高性能库通常在节点内提供足够的性能,但要跨节点扩展Python并使其在大规模高性能计算中真正具有竞争力,就需要分布式计算。许多框架,如Charm4Py, DaCe, Dask, Legate Numpy, mpi4py和Ray,跨节点扩展Python。然而,对于这些框架的相对优势和劣势知之甚少,使得从业者和科学家没有足够的信息来了解哪些框架适合他们的需求。在本文中,我们试图通过研究两个这样的框架:Charm4Py和mpi4py的相对性能来缩小这一知识差距。我们使用基于CPU和gpu的微基准测试(其他用于科学计算的代表性迷你应用程序)对Charm4Py和mpi4py进行了性能比较分析。
Performance Evaluation of Python Parallel Programming Models: and mpi4py
Python is rapidly becoming the lingua franca of machine learning and scientific computing. With the broad use of frameworks such as Numpy, SciPy, and TensorFlow, scientific computing and machine learning are seeing a productivity boost on systems without a requisite loss in performance. While high-performance libraries often provide adequate performance within a node, distributed computing is required to scale Python across nodes and make it genuinely competitive in large-scale high-performance computing. Many frameworks, such as Charm4Py, DaCe, Dask, Legate Numpy, mpi4py, and Ray, scale Python across nodes. However, little is known about these frameworks’ relative strengths and weaknesses, leaving practitioners and scientists without enough information about which frameworks are suitable for their requirements. In this paper, we seek to narrow this knowledge gap by studying the relative performance of two such frameworks: Charm4Py and mpi4py.We perform a comparative performance analysis of Charm4Py and mpi4py using CPU and GPU-based microbenchmarks other representative mini-apps for scientific computing.