zbMATH — the first resource for mathematics

Seeding and adjoining zero-halo partitioned parallel scientific codes. (English) Zbl 1446.90002
Summary: Algorithmic differentiation tools can automate the adjoint transformation of parallel message-passing codes [J. Utke et al., “Toward adjoinable MPI”, in: Proceedings of the 2009 IEEE international symposium on parallel & distributed processing, 2009. Los Alamitos, CA: IEEE Computer Society. 1–8 (2009; doi:10.1109/IPDPS.2009.5161165)] using the AMPI library. Nevertheless, a non-trivial and manual step after the differentiation is the initialization of the seed and retrieval of the output values from the differentiated code. Ambiguities in seeding occur in programs where the user is unable to expose the complete program flow with a single entry and single exit point to the AD tool. We present the ambiguities associated with seed initialization and output retrieval for adjoint transformation of halo and zero-halo partitioned MPI programs. We introduce a general framework to eliminate ambiguities in seeding and retrieval for shared-node reduction over +, and * operators using a conceptual master-worker model. The model shows the need for new MPI calls for retrieval and eliminate MPI calls for seed initialization. Different implementations for seeding manually assembled adjoints were inferred from the model, namely, partial and unique seeding. We successfully applied the seeding techniques to a 3D zero-halo partitioned unstructured compressible discrete adjoint solver and highlight the merits and demerits of each strategy.
90-04 Software, source code, etc. for problems pertaining to operations research and mathematical programming
90C52 Methods of reduced gradient type
Full Text: DOI
[1] Albring, T.A., Sagebaum, M., and Gauger, N.R., Development of a consistent discrete adjoint solver in an evolving aerodynamic design framework, in 16th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference, Jun., American Institute of Aeronautics and Astronautics, 2015.
[2] Christianson, B., Reverse accumulation and attractive fixed points, Optim. Method. Softw., 3, 311-326 (1994)
[3] Clarke, L., Glendinning, I., and Hempel, R., The MPI message passing interface standard, in Programming environments for massively parallel distributed systems, Springer, 1994, pp. 213-218.
[4] Economon, T. D.; Palacios, F.; Copeland, S. R.; Lukaczyk, T. W.; Alonso, J. J., SU2: An open-source suite for multiphysics simulation and design, AIAA J., 54, 828-846 (2016)
[5] Gicquel, L. Y.; Gourdain, N.; Boussuge, J. F.; Deniau, H.; Staffelbach, G.; Wolf, P.; Poinsot, T., High performance parallel computing of flows in complex geometries, C.R. Mécanique, 339, 104-124 (2011) · Zbl 1217.76048
[6] Giering, R.; Kaminski, T., Recipes for adjoint code construction, ACM Trans. Math. Softw., 24, 437-474 (1998) · Zbl 0934.65027
[7] Griewank, A. and Walther, A., Evaluating derivatives, Society for Industrial and Applied Mathematics, 2008 Jan. · Zbl 1159.65026
[8] Hascoët, L.; Pascual, V., The tapenade automatic differentiation tool: Principles, model, and specification, ACM Trans. Math. Softw., 39, 1-43 (2013) · Zbl 1295.65026
[9] Heimbach, P., Hill, C., and Giering, R., Automatic generation of efficient adjoint code for a parallel Navier-Stokes solver, in Lecture notes in computer science, Springer, Berlin, Heidelberg, 2002, pp. 1019-1028. · Zbl 1331.76003
[10] Hovland, P., Automatic differentiation of parallel programs, Ph.D. diss., University of Illinois at Urbana-Champaign, 1997.
[11] Hovland, P. and Bischof, C., Automatic Differentiation for Message-Passing Parallel Programs, in Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing, IEEE Comput. Soc, 1998, pp. 98-104.
[12] Jasak, H., Handling parallelisation in OpenFOAM, in Cyprus Advanced HPC Workshop, Vol. 101, 2012.
[13] Karypis, G.; Kumar, V., A fast and high quality multilevel scheme for partitioning irregular graphs, SIAM. J. Sci. Comput., 20, 359-392 (1998) · Zbl 0915.68129
[14] Mohanamuraly, P., Hückelheim, J.C., and Müller, J.D., Hybrid parallelisation of an algorithmically differentiated adjoint solver, in ECCOMAS Congress 2016, 2016.
[15] Mohanamuraly, P., Hückelheim, J.C., and Müller, J.D., STAMPS: An efficient hybrid-parallel discrete-adjoint CFD solver for aerodynamic design, in EUROGEN 2017, ECCOMACS Thematic Conference, Sep., Madrid, Spain, 2017.
[16] Mudalige, G., Giles, M., Reguly, I., Bertolli, C., and Kelly, P., OP2: An active library framework for solving unstructured mesh-based applications on multi-core and many-core architectures, in Innovative Parallel Computing (InPar 2012), May, IEEE, 2012, pp. 1-12.
[17] Roe, P., Approximate Riemann solvers, parameter vectors, and difference schemes, J. Comput. Phys., 43, 357-372 (1981) · Zbl 0474.65066
[18] Sagebaum, M., Albring, T.A., and Gauger, N.R., High-performance derivative computations using CoDiPack. · Zbl 07193387
[19] Schanen, M., Semantics driven adjoints of the message passing interface, Ph.D. diss., RWTH Aachen University, Germany, 2016.
[20] Schanen, M. and Naumann, U., A wish list for efficient adjoints of one-sided MPI communication, in Recent advances in the message passing interface. EuroMPI 2012. Lecture notes in computer science, vol 7490, T. J.L., B. S., and D. J.J., eds., Springer Berlin Heidelberg, 2012, pp. 248-257.
[21] Schanen, M.; Naumann, U.; Hascoët, L.; Utke, J., Interpretative adjoints for numerical simulation codes using MPI, Procedia. Comput. Sci., 1, 1825-1833 (2010)
[22] Utke, J., Hascoët, L., Heimbach, P., Hill, C., Hovland, P., and Naumann, U., Toward Adjoinable MPI, in 2009 IEEE International Symposium on Parallel & Distributed Processing, May, IEEE, 2009, pp. 1-8.
[23] Utke, J. and Larour, E., What I did to Adol-C and ISSM?, in 15th EuroAD Workshop, Oxford, UK, 2013.
[24] van Leer, B., Towards the ultimate conservative difference scheme, J. Comput. Phys., 135, 229-248 (1997) · Zbl 0939.76063
[25] Xu, S.; Radford, D.; Meyer, M.; Müller, J. D., Stabilisation of discrete steady adjoint solvers, J. Comput. Phys., 299, 175-195 (2015) · Zbl 1351.76131
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.