Source-transformation Differentiation of a C++-like Ice Sheet model
International audience Algorithmic Differentiation (AD) has become one of the most powerful tools to improve our understanding of theEarth System. If AD has been used by the ocean and atmospheric circulation modelingcommunity for almost 20 years, it is relatively new in the ice sheet modeling commun...
Main Authors: | , |
---|---|
Other Authors: | , , , , |
Format: | Conference Object |
Language: | English |
Published: |
HAL CCSD
2016
|
Subjects: | |
Online Access: | https://hal.inria.fr/hal-01413381 https://hal.inria.fr/hal-01413381/document https://hal.inria.fr/hal-01413381/file/AD2016HascoetMorlighem.pdf |
id |
ftunivnantes:oai:HAL:hal-01413381v1 |
---|---|
record_format |
openpolar |
spelling |
ftunivnantes:oai:HAL:hal-01413381v1 2023-05-15T16:40:26+02:00 Source-transformation Differentiation of a C++-like Ice Sheet model Hascoët, Laurent Morlighem, Mathieu Transformations et outils informatiques pour le calcul scientifique (Ecuador) Inria Sophia Antipolis - Méditerranée (CRISAM) Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria) University of California Irvine (UC Irvine) University of California (UC) Oxford, United Kingdom 2016-09-12 https://hal.inria.fr/hal-01413381 https://hal.inria.fr/hal-01413381/document https://hal.inria.fr/hal-01413381/file/AD2016HascoetMorlighem.pdf en eng HAL CCSD hal-01413381 https://hal.inria.fr/hal-01413381 https://hal.inria.fr/hal-01413381/document https://hal.inria.fr/hal-01413381/file/AD2016HascoetMorlighem.pdf info:eu-repo/semantics/OpenAccess AD2016 - 7th International Conference on Algorithmic Differentiation https://hal.inria.fr/hal-01413381 AD2016 - 7th International Conference on Algorithmic Differentiation, Sep 2016, Oxford, United Kingdom. pp.4 http://www.autodiff.org/ad16/ Algorithmic Differentiation Adjoint code [INFO.INFO-DS]Computer Science [cs]/Data Structures and Algorithms [cs.DS] [INFO]Computer Science [cs] [SDU.STU.GL]Sciences of the Universe [physics]/Earth Sciences/Glaciology info:eu-repo/semantics/conferenceObject Conference papers 2016 ftunivnantes 2022-11-30T02:02:29Z International audience Algorithmic Differentiation (AD) has become one of the most powerful tools to improve our understanding of theEarth System. If AD has been used by the ocean and atmospheric circulation modelingcommunity for almost 20 years, it is relatively new in the ice sheet modeling community. The Ice SheetSystem Model (ISSM) is a C++, object-oriented, massively parallelized, new generation ice sheet model that recentlyimplemented AD to improve its data assimilation capabilities. ISSM currently relies on Object Overloading throughADOL-C and AMPI. However, experience shows that Object Overloading AD on ISSM is significantly more memoryintensive compared to the primal code. We want to investigate other AD approaches to improve the performance ofthe AD adjoint. Yet, to our knowledge, there is no source-to-source AD tool that supports C++.To overcome this problem, we have developed a prototype of ISSM entirely in C, called Boreas, in order to testsource-to-source transformation and compare the performance of these two approaches to AD. Boreas is a clone ofISSM, the main difference with ISSM is that all the objects are converted to C-structures and some function nameshave been adapted in order to be unique, but the code architectures are identical. The programming style of Boreas isa first attempt at defining a programming style of (or a sub-language of) C++ that source-transformation AD couldhandle. We present here the first results of Source-Transformation AD of Boread with the AD tool Tapenade. Conference Object Ice Sheet Université de Nantes: HAL-UNIV-NANTES Boreas ENVELOPE(-3.933,-3.933,-71.300,-71.300) |
institution |
Open Polar |
collection |
Université de Nantes: HAL-UNIV-NANTES |
op_collection_id |
ftunivnantes |
language |
English |
topic |
Algorithmic Differentiation Adjoint code [INFO.INFO-DS]Computer Science [cs]/Data Structures and Algorithms [cs.DS] [INFO]Computer Science [cs] [SDU.STU.GL]Sciences of the Universe [physics]/Earth Sciences/Glaciology |
spellingShingle |
Algorithmic Differentiation Adjoint code [INFO.INFO-DS]Computer Science [cs]/Data Structures and Algorithms [cs.DS] [INFO]Computer Science [cs] [SDU.STU.GL]Sciences of the Universe [physics]/Earth Sciences/Glaciology Hascoët, Laurent Morlighem, Mathieu Source-transformation Differentiation of a C++-like Ice Sheet model |
topic_facet |
Algorithmic Differentiation Adjoint code [INFO.INFO-DS]Computer Science [cs]/Data Structures and Algorithms [cs.DS] [INFO]Computer Science [cs] [SDU.STU.GL]Sciences of the Universe [physics]/Earth Sciences/Glaciology |
description |
International audience Algorithmic Differentiation (AD) has become one of the most powerful tools to improve our understanding of theEarth System. If AD has been used by the ocean and atmospheric circulation modelingcommunity for almost 20 years, it is relatively new in the ice sheet modeling community. The Ice SheetSystem Model (ISSM) is a C++, object-oriented, massively parallelized, new generation ice sheet model that recentlyimplemented AD to improve its data assimilation capabilities. ISSM currently relies on Object Overloading throughADOL-C and AMPI. However, experience shows that Object Overloading AD on ISSM is significantly more memoryintensive compared to the primal code. We want to investigate other AD approaches to improve the performance ofthe AD adjoint. Yet, to our knowledge, there is no source-to-source AD tool that supports C++.To overcome this problem, we have developed a prototype of ISSM entirely in C, called Boreas, in order to testsource-to-source transformation and compare the performance of these two approaches to AD. Boreas is a clone ofISSM, the main difference with ISSM is that all the objects are converted to C-structures and some function nameshave been adapted in order to be unique, but the code architectures are identical. The programming style of Boreas isa first attempt at defining a programming style of (or a sub-language of) C++ that source-transformation AD couldhandle. We present here the first results of Source-Transformation AD of Boread with the AD tool Tapenade. |
author2 |
Transformations et outils informatiques pour le calcul scientifique (Ecuador) Inria Sophia Antipolis - Méditerranée (CRISAM) Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria) University of California Irvine (UC Irvine) University of California (UC) |
format |
Conference Object |
author |
Hascoët, Laurent Morlighem, Mathieu |
author_facet |
Hascoët, Laurent Morlighem, Mathieu |
author_sort |
Hascoët, Laurent |
title |
Source-transformation Differentiation of a C++-like Ice Sheet model |
title_short |
Source-transformation Differentiation of a C++-like Ice Sheet model |
title_full |
Source-transformation Differentiation of a C++-like Ice Sheet model |
title_fullStr |
Source-transformation Differentiation of a C++-like Ice Sheet model |
title_full_unstemmed |
Source-transformation Differentiation of a C++-like Ice Sheet model |
title_sort |
source-transformation differentiation of a c++-like ice sheet model |
publisher |
HAL CCSD |
publishDate |
2016 |
url |
https://hal.inria.fr/hal-01413381 https://hal.inria.fr/hal-01413381/document https://hal.inria.fr/hal-01413381/file/AD2016HascoetMorlighem.pdf |
op_coverage |
Oxford, United Kingdom |
long_lat |
ENVELOPE(-3.933,-3.933,-71.300,-71.300) |
geographic |
Boreas |
geographic_facet |
Boreas |
genre |
Ice Sheet |
genre_facet |
Ice Sheet |
op_source |
AD2016 - 7th International Conference on Algorithmic Differentiation https://hal.inria.fr/hal-01413381 AD2016 - 7th International Conference on Algorithmic Differentiation, Sep 2016, Oxford, United Kingdom. pp.4 http://www.autodiff.org/ad16/ |
op_relation |
hal-01413381 https://hal.inria.fr/hal-01413381 https://hal.inria.fr/hal-01413381/document https://hal.inria.fr/hal-01413381/file/AD2016HascoetMorlighem.pdf |
op_rights |
info:eu-repo/semantics/OpenAccess |
_version_ |
1766030837312126976 |