| 
	
     
	 | 
	
     
		
		
		
			
	
	
		
				 
				 | 
		A usability case study of algorithmic differentiation tools on the ISSM ice sheet model-
		Article in a journal
				 - |   |  
	  |  
								Author(s)  
					Alexander Hück
					, Christian Bischof
					, Max Sagebaum
					, Nicolas R. Gauger
					, Benjamin Jurgelucks
					, Eric Larour
					, Gilberto Perez
				  |  
							
		Published in  Special issue of Optimization Methods & Software: Advances in Algorithmic Differentiation
Optimization Methods & Software  |  
							
		Editor(s)  Bruce Christianson, Shaun A. Forth, Andreas Griewank  |  
										
		Year  2018  |  
							
		Publisher  Taylor & Francis  |  
							
		Abstract  Algorithmic differentiation (ad) based on operator overloading is often the only feasible approach for applying ad in complex C++ software environments. Challenges pertaining to the introduction of an ad tool based on operator overloading have been studied in the past. However, in order to assess possible performance gains or to verify derivative values, it is advantageous to be able to apply more than one ad tool to a given code. Hence, in this work, we investigate usability issues when exchanging ad tools. Our study is based on the NASA/JPL/UCI Ice Sheet System Model (ISSM) which currently employs the ad tool ADOL-C. We introduce CoDiPack to ISSM, a more recent ad tool offering a similar set of features while promising performance improvements. In addition to the obvious type change for the ad-augmented float type, this transition requires the change to a different adjoint MPI library, adaptation of the MUMPS solver wrapper, and changes to the derivative seeding and extraction routines. We believe that these issues are fairly generic for numerical simulation software, and the issues we report on provide a blueprint for similar undertakings. We also believe that our experiences provide guidance towards the development of ad interfaces that support ad tool interoperability. In addition, we improve upon the memory management of the existing ADOL-C instrumentation, which exhibited considerable runtime problems for higher mesh resolutions. We conduct serial and parallel ISSM model runs on a 2D mass transport benchmark as well as a model of the Pine Island Glacier to verify the derivatives computed by both tools and report on runtime performance and memory usage. In comparison, the CoDiPack ad variant of ISSM runs faster with less memory overhead than the ADOL-C variant and, thus, enables future model runs with an increased number of mesh elements. But the existence of two different ad implementations provides added confidence in the correctness of derivatives, in particular for future ad tool versions.  |  
							
		Cross-References  Christianson2018Sio  |  
																
	
		BibTeX 
		@ARTICLE{ 
         Huck2018Auc, 
       crossref = "Christianson2018Sio", 
       author = "Alexander H{\"u}ck and Christian Bischof and Max Sagebaum and Nicolas R. 
         Gauger and Benjamin Jurgelucks and Eric Larour and Gilberto Perez", 
       title = "A usability case study of algorithmic differentiation tools on the {ISSM} ice sheet 
         model", 
       journal = "Optimization Methods \& Software", 
       volume = "33", 
       number = "4--6", 
       pages = "844--867", 
       year = "2018", 
       publisher = "Taylor \& Francis", 
       doi = "10.1080/10556788.2017.1396602", 
       url = "https://doi.org/10.1080/10556788.2017.1396602", 
       eprint = "https://doi.org/10.1080/10556788.2017.1396602", 
       abstract = "Algorithmic differentiation (AD) based on operator overloading is often the only 
         feasible approach for applying AD in complex C++ software environments. Challenges pertaining to the 
         introduction of an AD tool based on operator overloading have been studied in the past. However, in 
         order to assess possible performance gains or to verify derivative values, it is advantageous to be 
         able to apply more than one AD tool to a given code. Hence, in this work, we investigate usability 
         issues when exchanging AD tools. Our study is based on the NASA/JPL/UCI Ice Sheet System Model 
         (ISSM) which currently employs the AD tool ADOL-C. We introduce CoDiPack to ISSM, a more recent AD 
         tool offering a similar set of features while promising performance improvements. In addition to the 
         obvious type change for the AD-augmented float type, this transition requires the change to a 
         different adjoint MPI library, adaptation of the MUMPS solver wrapper, and changes to the derivative 
         seeding and extraction routines. We believe that these issues are fairly generic for numerical 
         simulation software, and the issues we report on provide a blueprint for similar undertakings. We 
         also believe that our experiences provide guidance towards the development of AD interfaces that 
         support AD tool interoperability. In addition, we improve upon the memory management of the existing 
         ADOL-C instrumentation, which exhibited considerable runtime problems for higher mesh resolutions. 
         We conduct serial and parallel ISSM model runs on a 2D mass transport benchmark as well as a model 
         of the Pine Island Glacier to verify the derivatives computed by both tools and report on runtime 
         performance and memory usage. In comparison, the CoDiPack AD variant of ISSM runs faster with less 
         memory overhead than the ADOL-C variant and, thus, enables future model runs with an increased 
         number of mesh elements. But the existence of two different AD implementations provides added 
         confidence in the correctness of derivatives, in particular for future AD tool versions.", 
       booktitle = "Special issue of Optimization Methods \& Software: Advances in 
         Algorithmic Differentiation", 
       editor = "Bruce Christianson and Shaun A. Forth and Andreas Griewank" 
}
		  |    |  
	 
	
 back
 |   
      
      |