Font Size: a A A

Design And Implementation Of Co-Array Fortran Compiler

Posted on:2007-04-29Degree:MasterType:Thesis
Country:ChinaCandidate:P R TangFull Text:PDF
GTID:2178360215970287Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
The emerging scalable parallel programming interface - Co-Array Fortran(CAF)is wellsuited for both shared memory systems and distributed memory systems. The global address space programming model that CAF uses can abstract away much of the complexity of communication in the single-program-multiple-data parallel programs. It leaves the details of communication to the compiler which reduces the complexity of writing programs and brings better programmability.In this paper, we do a comprehensive research on Co-Array Fortran. The paper investigates the CAF language in detail, and presents a comparative study of Co-Array Fortran and other parallel interfaces in aspects of programming model, language mechanism etc.. Based on these, a framework of our CAF compiler—CCRG-cafc is brought forward. Then, we discuss the key features of the implementation of CAF compiler, contrive a scheme for representing co-array syntax at Fortran 90 level and present the communication strategies. Guided by the scheme and strategies, we design and implement a portable CCRG-cafc compiler based on GUN Fortran compiler. Our compiler performs source-to-source translation from CAF to Fortran 90 with calls to runtime library primitives. Meanwhile, the runtime library is implemented to perform the communications and synchronizations to guarantee the efficient execution of the CAF programs.To compare the performance of CAF, OpenMP and MPI we test several case programs on an Itanium cluster. The experiments show that our CCRG-cafc compiles CAF programs into code that delivers performance roughly equal to that of MPI programs and OpenMP programs. Furthermore, CAF potentially improves the performance due to the flexible synchronization and explicit control on shared data distribution.
Keywords/Search Tags:Co-Array Fortran, image, source-to-source, GUN Fortran, one-side communication, intrinsic procedure, CCRG-cafc
PDF Full Text Request
Related items