Toward adjoinable MPI

Automatic differentiation is the primary means of obtaining analytic derivatives from a numerical model given as a computer program. Therefore, it is an essential productivity tool in numerous computational science and engineering domains. Computing gradients with the adjoint (also called reverse) m...

Mô tả đầy đủ

Chi tiết về thư mục
Những tác giả chính: Hill, Christopher N., Utke, Jean, Hascoet, Laurent, Heimbach, Patrick, Hovland, Paul, Naumann, Uwe
Tác giả khác: Massachusetts Institute of Technology. Department of Earth, Atmospheric, and Planetary Sciences
Định dạng: Bài viết
Ngôn ngữ:en_US
Được phát hành: Institute of Electrical and Electronics Engineers 2010
Những chủ đề:
Truy cập trực tuyến:http://hdl.handle.net/1721.1/58833
Miêu tả
Tóm tắt:Automatic differentiation is the primary means of obtaining analytic derivatives from a numerical model given as a computer program. Therefore, it is an essential productivity tool in numerous computational science and engineering domains. Computing gradients with the adjoint (also called reverse) mode via source transformation is a particularly beneficial but also challenging use of automatic differentiation. To date only ad hoc solutions for adjoint differentiation of MPI programs have been available, forcing automatic differentiation tool users to reason about parallel communication dataflow and dependencies and manually develop adjoint communication code. Using the communication graph as a model we characterize the principal problems of adjoining the most frequently used communication idioms. We propose solutions to cover these idioms and consider the consequences for the MPI implementation, the MPI user and MPI-aware program analysis. The MIT general circulation model serves as a use case to illustrate the viability of our approach.