Richard Barrett, O. Aaziz, Jeanine Cook, R. Lehoucq, Stephen L. Olivier, C. Vaughan
{"title":"Developing a Graph Analytics Code : An Analysis of the Chapel Programming Environment.","authors":"Richard Barrett, O. Aaziz, Jeanine Cook, R. Lehoucq, Stephen L. Olivier, C. Vaughan","doi":"10.2172/1889051","DOIUrl":null,"url":null,"abstract":"We previously reported on our implementation of a Chapel version of a linear algebra based graph hitting time code [1] from an existing MATLAB code. Creating the Chapel implementation was essentially a direct translation, on a Mac laptop, though of course with the manual definition and incorporation of the sparse matrix and vector domains, followed by memory allocation statements. From this experience, the developer of this algorithm, who is not a high performance computing (HPC) expert, now believes that he can perform his algorithm research directly in Chapel, enabling immediate exploration using large data sets on his target HPC machines. This expressiveness, combined with performance portability and robustness, provides a strong case for adoption of the Chapel programming language by the HPC community. Yet adoption of any new programming language is rightfully challenging [2]. In addition to the productivity characteristics listed above, we believe that the success of a programming language also depends on the programming environment presented to the code developer. In this talk we discuss Chapel’s programming environment, within the context of our experiences developing and analyzing code the reference code as well as other applications.","PeriodicalId":388004,"journal":{"name":"Proposed for presentation at the CHIUW: Chapel Implementers and Users Workshop held June 4-4, 2021 in Virtual,","volume":"22 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proposed for presentation at the CHIUW: Chapel Implementers and Users Workshop held June 4-4, 2021 in Virtual,","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2172/1889051","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We previously reported on our implementation of a Chapel version of a linear algebra based graph hitting time code [1] from an existing MATLAB code. Creating the Chapel implementation was essentially a direct translation, on a Mac laptop, though of course with the manual definition and incorporation of the sparse matrix and vector domains, followed by memory allocation statements. From this experience, the developer of this algorithm, who is not a high performance computing (HPC) expert, now believes that he can perform his algorithm research directly in Chapel, enabling immediate exploration using large data sets on his target HPC machines. This expressiveness, combined with performance portability and robustness, provides a strong case for adoption of the Chapel programming language by the HPC community. Yet adoption of any new programming language is rightfully challenging [2]. In addition to the productivity characteristics listed above, we believe that the success of a programming language also depends on the programming environment presented to the code developer. In this talk we discuss Chapel’s programming environment, within the context of our experiences developing and analyzing code the reference code as well as other applications.