{"title":"链接XcalableMP和Python语言在HPC集群系统上的高生产力:应用于图阶/度问题","authors":"M. Nakao, H. Murai, T. Boku, M. Sato","doi":"10.1145/3176364.3176369","DOIUrl":null,"url":null,"abstract":"When developing applications on high-performance computing (HPC) cluster systems, Partitioned Global Address Space (PGAS) languages are used due to their high productivity and performance. However, in order to more efficiently develop such applications, it is also important to be able to combine a PGAS language with other languages instead of using a single PGAS language alone. We have designed an XcalableMP (XMP) PGAS language, and developed Omni Compiler as an XMP compiler. In this paper, we report on the development of linkage functions between XMP and {C, Fortran, or Python} for Omni Compiler. Furthermore, as a functional example of interworking between XMP and Python, we discuss the development of an application for the Graph Order/degree problem. Specifically, we paralleled all of the shortest paths among the vertices searches of the application using XMP. When the results of the application in XMP and the original Python were compared, we found that the performance of XMP was 21% faster than that of the original Python on a single CPU core. Moreover, when applying the application on an HPC cluster system with 1,280 CPU cores of 64 compute nodes, we could achieve a 921 times better performance than that on a single CPU core.","PeriodicalId":371083,"journal":{"name":"Proceedings of Workshops of HPC Asia","volume":"435 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-01-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Linkage of XcalableMP and Python languages for high productivity on HPC cluster system: application to graph order/degree problem\",\"authors\":\"M. Nakao, H. Murai, T. Boku, M. Sato\",\"doi\":\"10.1145/3176364.3176369\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"When developing applications on high-performance computing (HPC) cluster systems, Partitioned Global Address Space (PGAS) languages are used due to their high productivity and performance. However, in order to more efficiently develop such applications, it is also important to be able to combine a PGAS language with other languages instead of using a single PGAS language alone. We have designed an XcalableMP (XMP) PGAS language, and developed Omni Compiler as an XMP compiler. In this paper, we report on the development of linkage functions between XMP and {C, Fortran, or Python} for Omni Compiler. Furthermore, as a functional example of interworking between XMP and Python, we discuss the development of an application for the Graph Order/degree problem. Specifically, we paralleled all of the shortest paths among the vertices searches of the application using XMP. When the results of the application in XMP and the original Python were compared, we found that the performance of XMP was 21% faster than that of the original Python on a single CPU core. Moreover, when applying the application on an HPC cluster system with 1,280 CPU cores of 64 compute nodes, we could achieve a 921 times better performance than that on a single CPU core.\",\"PeriodicalId\":371083,\"journal\":{\"name\":\"Proceedings of Workshops of HPC Asia\",\"volume\":\"435 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-01-31\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of Workshops of HPC Asia\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3176364.3176369\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of Workshops of HPC Asia","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3176364.3176369","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Linkage of XcalableMP and Python languages for high productivity on HPC cluster system: application to graph order/degree problem
When developing applications on high-performance computing (HPC) cluster systems, Partitioned Global Address Space (PGAS) languages are used due to their high productivity and performance. However, in order to more efficiently develop such applications, it is also important to be able to combine a PGAS language with other languages instead of using a single PGAS language alone. We have designed an XcalableMP (XMP) PGAS language, and developed Omni Compiler as an XMP compiler. In this paper, we report on the development of linkage functions between XMP and {C, Fortran, or Python} for Omni Compiler. Furthermore, as a functional example of interworking between XMP and Python, we discuss the development of an application for the Graph Order/degree problem. Specifically, we paralleled all of the shortest paths among the vertices searches of the application using XMP. When the results of the application in XMP and the original Python were compared, we found that the performance of XMP was 21% faster than that of the original Python on a single CPU core. Moreover, when applying the application on an HPC cluster system with 1,280 CPU cores of 64 compute nodes, we could achieve a 921 times better performance than that on a single CPU core.