Alan Hylton, Gregory Henselman-Petrusek, Janche Sang, Robert Short
{"title":"调优计算持久同源包的性能。","authors":"Alan Hylton, Gregory Henselman-Petrusek, Janche Sang, Robert Short","doi":"10.1002/spe.2678","DOIUrl":null,"url":null,"abstract":"<p><p>In recent years, persistent homology has become an attractive method for data analysis. It captures topological features, such as connected components, holes, and voids from point cloud data and summarizes the way in which these features appear and disappear in a filtration sequence. In this project, we focus on improving the performance of Eirene, a computational package for persistent homology. Eirene is a 5000-line open-source software library implemented in the dynamic programming language Julia. We use the Julia profiling tools to identify performance bottlenecks and develop novel methods to manage them, including the parallelization of some time-consuming functions on multicore/manycore hardware. Empirical results show that performance can be greatly improved.</p>","PeriodicalId":49504,"journal":{"name":"Software-Practice & Experience","volume":"49 5","pages":"885-905"},"PeriodicalIF":2.6000,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1002/spe.2678","citationCount":"8","resultStr":"{\"title\":\"Tuning the Performance of a Computational Persistent Homology Package.\",\"authors\":\"Alan Hylton, Gregory Henselman-Petrusek, Janche Sang, Robert Short\",\"doi\":\"10.1002/spe.2678\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p><p>In recent years, persistent homology has become an attractive method for data analysis. It captures topological features, such as connected components, holes, and voids from point cloud data and summarizes the way in which these features appear and disappear in a filtration sequence. In this project, we focus on improving the performance of Eirene, a computational package for persistent homology. Eirene is a 5000-line open-source software library implemented in the dynamic programming language Julia. We use the Julia profiling tools to identify performance bottlenecks and develop novel methods to manage them, including the parallelization of some time-consuming functions on multicore/manycore hardware. Empirical results show that performance can be greatly improved.</p>\",\"PeriodicalId\":49504,\"journal\":{\"name\":\"Software-Practice & Experience\",\"volume\":\"49 5\",\"pages\":\"885-905\"},\"PeriodicalIF\":2.6000,\"publicationDate\":\"2019-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1002/spe.2678\",\"citationCount\":\"8\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Software-Practice & Experience\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1002/spe.2678\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"2019/2/1 0:00:00\",\"PubModel\":\"Epub\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Software-Practice & Experience","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1002/spe.2678","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2019/2/1 0:00:00","PubModel":"Epub","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
Tuning the Performance of a Computational Persistent Homology Package.
In recent years, persistent homology has become an attractive method for data analysis. It captures topological features, such as connected components, holes, and voids from point cloud data and summarizes the way in which these features appear and disappear in a filtration sequence. In this project, we focus on improving the performance of Eirene, a computational package for persistent homology. Eirene is a 5000-line open-source software library implemented in the dynamic programming language Julia. We use the Julia profiling tools to identify performance bottlenecks and develop novel methods to manage them, including the parallelization of some time-consuming functions on multicore/manycore hardware. Empirical results show that performance can be greatly improved.
期刊介绍:
Software: Practice and Experience is an internationally respected and rigorously refereed vehicle for the dissemination and discussion of practical experience with new and established software for both systems and applications.
Articles published in the journal must be directly relevant to the design and implementation of software at all levels, from a useful programming technique all the way up to a large scale software system. As the journal’s name suggests, the focus is on practice and experience with software itself. The journal cannot and does not attempt to cover all aspects of software engineering.
The key criterion for publication of a paper is that it makes a contribution from which other persons engaged in software design and implementation might benefit. Originality is also important. Exceptions can be made, however, for cases where apparently well-known techniques do not appear in the readily available literature.
Contributions regularly:
Provide detailed accounts of completed software-system projects which can serve as ‘how-to-do-it’ models for future work in the same field;
Present short reports on programming techniques that can be used in a wide variety of areas;
Document new techniques and tools that aid in solving software construction problems;
Explain methods/techniques that cope with the special demands of large-scale software projects. However, software process and management of software projects are topics deemed to be outside the journal’s scope.
The emphasis is always on practical experience; articles with theoretical or mathematical content are included only in cases where an understanding of the theory will lead to better practical systems.
If it is unclear whether a manuscript is appropriate for publication in this journal, the list of referenced publications will usually provide a strong indication. When there are no references to Software: Practice and Experience papers (or to papers in a journal with a similar scope such as JSS), it is quite likely that the manuscript is not suited for this journal. Additionally, one of the journal’s editors can be contacted for advice on the suitability of a particular topic.