A framework for unit testing with coarray Fortran

作者: Valeria Cardellini , Salvatore Filippone , Ambra Abdullahi Hassan

DOI: 10.5555/3108096.3108101

关键词: FortranParallel computingComputer scienceProgramming languageLegacy codeCoarray FortranCode refactoringParallel programming modelUnit testingPartitioned global address spaceSerial code

摘要: Parallelism is a ubiquitous feature of modern computing architectures; indeed, we might even say that serial code now automatically legacy code. Writing parallel poses significant challenges to programs, and often error-prone. Partitioned Global Address Space (PGAS) languages, such as Coarray Fortran (CAF), represent promising development direction in the quest for trade-off between simplicity performance. CAF programming model allows smooth migration from However, despite simplicity, refactoring migrating it versions still error-prone, especially complex softwares. The combination unit testing, which drastically reduces defect injection, therefore very appealing prospect; however, requires appropriate tools realize its potential. In this paper, present first CAF-compatible framework tests, developed an extension Parallel Unit Test (pFUnit).

参考文章(13)
Xiaofeng Xu, Jim Xia, Damian Rouson, Scientific Software Design: The Object-Oriented Way ,(2011)
Manuel Hasert, Harald Klimach, Sabine Roller, CAF versus MPI - applicability of coarray fortran to a flow solver EuroMPI'11 Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface. pp. 228- 236 ,(2011) , 10.1007/978-3-642-24449-0_26
Dounia Khaldi, Deepak Eachempati, Shiyao Ge, Pierre Jouvelot, Barbara Chapman, A Team-Based Methodology of Memory Hierarchy-Aware Runtime Support in Coarray Fortran international conference on cluster computing. pp. 448- 451 ,(2015) , 10.1109/CLUSTER.2015.67
Alessandro Fanfarillo, Tobias Burnus, Valeria Cardellini, Salvatore Filippone, Dan Nagle, Damian Rouson, OpenCoarrays: Open-source Transport Layers Supporting Coarray Fortran Compilers Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models. pp. 4- ,(2014) , 10.1145/2676870.2676876
Salvatore Filippone, Michele Colajanni, PSBLAS: a library for parallel linear algebra computation on sparse matrices ACM Transactions on Mathematical Software. ,vol. 26, pp. 527- 550 ,(2000) , 10.1145/365723.365732
Hari Radhakrishnan, Damian W. I. Rouson, Karla Morris, Sameer Shende, Stavros C. Kassinos, Test-driven coarray parallelization of a legacy Fortran application software engineering for high performance computing in computational science and engineering. pp. 33- 40 ,(2013) , 10.1145/2532352.2532356
David E. Culler, Tarek A. El-Ghazawi, Kathy Yelick, William W. Carlson, Jesse M. Draper, Eugene Brooks, George Washington, UPC Language Specifications V1.1.1 ,(2003)
Salvatore Filippone, Alfredo Buttari, Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003 ACM Transactions on Mathematical Software. ,vol. 38, pp. 23- ,(2012) , 10.1145/2331130.2331131
T. L. Clune, R. B. Rood, Software Testing and Verification in Climate Model Development IEEE Software. ,vol. 28, pp. 49- 55 ,(2011) , 10.1109/MS.2011.117
Jeffrey C. Carver, Richard P. Kendall, Susan E. Squires, Douglass E. Post, Software Development Environments for Scientific and Engineering Software: A Series of Case Studies international conference on software engineering. pp. 550- 559 ,(2007) , 10.1109/ICSE.2007.77