{"title":"用CMake快速开发HPC软件的软件流程","authors":"B. Hoffman, David Cole, J. Vines","doi":"10.1109/HPCMP-UGC.2009.62","DOIUrl":null,"url":null,"abstract":"We are developing and extending the CMake family of software development tools (www.cmake.org) for use in the Mobile Network Institute and the Multi-Scale Reactive Modeling Institute. These tools are used to build, test, and package C/C++ and FORTRAN software in a cross platform manner. By using CMake, a software project can be built just as easily on a Windows PC as on a Cray XT5 super computer. In addition, CMake’s CTest facility can test and then populate the testing dashboard CDash (www.cdash.org), which is a web-based tool used to monitor and display the “health” of a software system. In combination with CTest, CDash provides a continuous integration testing system. Finally, CPack can be used to package and deploy software across multiple computing platforms. This paper will describe these tools, how they are used in the software process, and provide specific application of their usage in support of Multi-Scale Reactive Modeling (MSRM) and the Mobile Network Modeling (MNM) High Performance Computing Software Applications Institute. The tools described in this paper are open source and available to any high performance computing (HPC) project. The paper will provide a high level overview of the CMake tools with enough specifics to enable any HPC development effort to begin working with them. We will also describe how these tools and the associated software process provide the computational infrastructure required to rapidly develop next generation HPC software.","PeriodicalId":268639,"journal":{"name":"2009 DoD High Performance Computing Modernization Program Users Group Conference","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":"{\"title\":\"Software Process for Rapid Development of HPC Software Using CMake\",\"authors\":\"B. Hoffman, David Cole, J. Vines\",\"doi\":\"10.1109/HPCMP-UGC.2009.62\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We are developing and extending the CMake family of software development tools (www.cmake.org) for use in the Mobile Network Institute and the Multi-Scale Reactive Modeling Institute. These tools are used to build, test, and package C/C++ and FORTRAN software in a cross platform manner. By using CMake, a software project can be built just as easily on a Windows PC as on a Cray XT5 super computer. In addition, CMake’s CTest facility can test and then populate the testing dashboard CDash (www.cdash.org), which is a web-based tool used to monitor and display the “health” of a software system. In combination with CTest, CDash provides a continuous integration testing system. Finally, CPack can be used to package and deploy software across multiple computing platforms. This paper will describe these tools, how they are used in the software process, and provide specific application of their usage in support of Multi-Scale Reactive Modeling (MSRM) and the Mobile Network Modeling (MNM) High Performance Computing Software Applications Institute. The tools described in this paper are open source and available to any high performance computing (HPC) project. The paper will provide a high level overview of the CMake tools with enough specifics to enable any HPC development effort to begin working with them. We will also describe how these tools and the associated software process provide the computational infrastructure required to rapidly develop next generation HPC software.\",\"PeriodicalId\":268639,\"journal\":{\"name\":\"2009 DoD High Performance Computing Modernization Program Users Group Conference\",\"volume\":\"18 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2009-06-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"15\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2009 DoD High Performance Computing Modernization Program Users Group Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HPCMP-UGC.2009.62\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 DoD High Performance Computing Modernization Program Users Group Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HPCMP-UGC.2009.62","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Software Process for Rapid Development of HPC Software Using CMake
We are developing and extending the CMake family of software development tools (www.cmake.org) for use in the Mobile Network Institute and the Multi-Scale Reactive Modeling Institute. These tools are used to build, test, and package C/C++ and FORTRAN software in a cross platform manner. By using CMake, a software project can be built just as easily on a Windows PC as on a Cray XT5 super computer. In addition, CMake’s CTest facility can test and then populate the testing dashboard CDash (www.cdash.org), which is a web-based tool used to monitor and display the “health” of a software system. In combination with CTest, CDash provides a continuous integration testing system. Finally, CPack can be used to package and deploy software across multiple computing platforms. This paper will describe these tools, how they are used in the software process, and provide specific application of their usage in support of Multi-Scale Reactive Modeling (MSRM) and the Mobile Network Modeling (MNM) High Performance Computing Software Applications Institute. The tools described in this paper are open source and available to any high performance computing (HPC) project. The paper will provide a high level overview of the CMake tools with enough specifics to enable any HPC development effort to begin working with them. We will also describe how these tools and the associated software process provide the computational infrastructure required to rapidly develop next generation HPC software.