Skip to main content

A Framework for Proving Correctness of Adjoint Message-Passing Programs

  • Conference paper
Recent Advances in Parallel Virtual Machine and Message Passing Interface (EuroPVM/MPI 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5205))

Abstract

We propose a technique for proving correctness of adjoint message passing programs that relies on data dependences in partitioned global address space. As an example we discuss asynchronous unbuffered send/receive using MPI.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A., Sethi, R., Ullman, J.: Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)

    MATH  Google Scholar 

  2. Bischof, C., Bücker, M., Hovland, P., Naumann, U., Utke, J. (eds.): Advances in Automatic Differentiation. LNCSE, Berlin. Springer, Heidelberg (2008)

    Google Scholar 

  3. Carle, A., Fagan, M.: Automatically differentiating MPI-1 datatypes: The complete story. In: [6] ch. 25, pp. 215–222. Springer, Heildberg (2002)

    Google Scholar 

  4. Faure, C., Dutto, P.: Extension of Odyssée to the MPI library – reverse mode. Rapport de recherche 3774, INRIA, Sophia Antipolis (October 1999)

    Google Scholar 

  5. Coarfa, C., Dotsenko, Y., Mellor-Crummey, J., Cantonnet, F., El-Ghazawi, T., Mohanti, A., Yao, Y., Chavarría-Miranda, D.: An evaluation of global address space languages: co-array fortran and unified parallel c. In: PPoPP 2005: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 36–47. ACM, New York (2005)

    Google Scholar 

  6. Corliss, G., Faure, C., Griewank, A., Hascoët, L., Naumann, U. (eds.): Automatic Differentiation of Algorithms – From Simulation to Optimization. Springer, New York (2002)

    Google Scholar 

  7. Faure, C., Dutto, P., Fidanova, S.: Odysée and parallelism: Extension and validation. In: Procceedings of the 3rd European Conference on Numerical Mathematics and Advanced Applications, Jyväskylä, Finland, July 26-30, 1999, pp. 478–485. World Scientific, Singapore (2000)

    Google Scholar 

  8. Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM, Philadelphia (2000)

    MATH  Google Scholar 

  9. Heimbach, P., Hill, C., Giering, R.: Automatic generation of efficient adjoint code for a parallel Navier-Stokes solver. In: Sloot, P.M.A., Tan, C.J.K., Dongarra, J., Hoekstra, A.G. (eds.) ICCS-ComputSci 2002. LNCS, vol. 2330, pp. 1019–1028. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  10. Hovland, P., Bischof, C.: Automatic differentiation of message-passing parallel programs. In: Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing, pp. 98–104. IEEE Computer Society Press, Los Alamitos (1998)

    Chapter  Google Scholar 

  11. Marotzke, J., Giering, R., Zhang, K., Stammer, D., Hill, C., Lee, T.: Construction of the adjoint MIT ocean general circulation model and application to Atlantic heat transport variability. J. Geophysical Research 104, C12:29, 529, 547 (1999)

    Article  Google Scholar 

  12. Naumann, U.: Call tree reversal is NP-complete. In: [2] (to appear, 2008)

    Google Scholar 

  13. Naumann, U.: DAG reversal is NP-complete. J. Discr. Alg. (to appear, 2008)

    Google Scholar 

  14. Naumann, U., Riehme, J.: A differentiation-enabled Fortran 95 compiler. ACM Transactions on Mathematical Software 31(4), 458–474 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  15. Shasha, D., Snir, M.: Efficient and correct execution of parallel programs that share memory. ACM Trans. Program. Lang. Syst. 10(2), 282–312 (1988)

    Article  Google Scholar 

  16. Mills Strout, M., Kreaseck, B., Hovland, P.: Data-flow analysis for MPI programs. In: ICPP 2006: Proceedings of the 2006 International Conference on Parallel Processing, pp. 175–184. IEEE Computer Society Press, Washington (2006)

    Google Scholar 

  17. Utke, J., Naumann, U., Wunsch, C., Hill, C., Heimbach, P., Fagan, M., Tallent, N., Strout, M.: OpenAD/F: A modular, open-source tool for automatic differentiation of Fortran codes. ACM Transactions on Mathematical Software 34(4) (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alexey Lastovetsky Tahar Kechadi Jack Dongarra

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Naumann, U., Hascoët, L., Hill, C., Hovland, P., Riehme, J., Utke, J. (2008). A Framework for Proving Correctness of Adjoint Message-Passing Programs. In: Lastovetsky, A., Kechadi, T., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2008. Lecture Notes in Computer Science, vol 5205. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87475-1_44

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-87475-1_44

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-87474-4

  • Online ISBN: 978-3-540-87475-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics