Mostra i principali dati dell'item

dc.contributor.advisorLeotta, Maurizio <1983>
dc.contributor.advisorMancinelli, Claudio <1990>
dc.contributor.advisorDagnino, Francesco <1993>
dc.contributor.advisorPuppo, Enrico <1962>
dc.contributor.authorPilipov, Mikhail <1997>
dc.date.accessioned2026-10-22T14:35:55Z
dc.date.available2026-10-22T14:35:55Z
dc.date.issued2026-10-14
dc.identifier.urihttps://unire.unige.it/handle/123456789/17374
dc.description.abstractLa Differenziazione Automatica (AD) è una famiglia di tecniche che valuta le derivate di funzioni numeriche espresse sotto forma di programmi informatici. Trova applicazione in settori quali la fluidodinamica computazionale, le scienze atmosferiche e altri. Tuttavia, gli sviluppatori che intendono utilizzare l'AD nei propri progetti affrontano una sfida di ingegneria del software in questo ambito: decidere quale libreria AD adottare e come sceglierla affinché soddisfi i requisiti del progetto. Risolvere tale problematica richiede l'analisi delle librerie esistenti per comprenderne le limitazioni in termini di compilazione e prestazioni, nonché le architetture specifiche di ciascuna di esse. Inoltre, è necessario organizzare i test per identificare l'opzione migliore tra le librerie AD disponibili. In questa tesi, indaghiamo questa problematica confrontando le librerie AD consolidate presenti nella suite Gradbench con una nuova libreria, XAD, utilizzata come caso di studio. Illustriamo l'infrastruttura di Gradbench e le sfide legate alla creazione di implementazioni in C++ per vari problemi matematici. A seguito dell'integrazione, valutiamo e confrontiamo XAD con le altre librerie di Gradbench lungo la complessità di integrazione e le prestazioni computazionali, analizzate mediante metodi statistici non parametrici. Valutando XAD in diversi compiti matematici, i nostri esperimenti rivelano che le prestazioni di XAD dipendono dallo specifico problema in esame. All'interno della Gradbench, XAD risulta più lenta rispetto ad altre librerie. Inoltre, nella maggior parte dei casi, questo svantaggio non è compensato da una minore dimensione dell'implementazione, poiché XAD richiede una maggiore quantità di codice. Tuttavia, quando applicata ai numerosi calcoli ripetitivi del progetto ADOnMeshes, XAD ha registrato prestazioni nettamente superiori rispetto ad Adept, un'altra libreria AD dimostrando un elevato livello di efficienza per contesti matematici così specifici.it_IT
dc.description.abstractAutomatic Differentiation (AD) is a family of techniques that evaluates derivatives of numeric functions expressed as computer programs. It has applications in areas including computational fluid dynamics, atmospheric sciences, and engineering design optimization. However, developers looking to use AD in their projects, encounter a software engineering challenge in this area: deciding which AD library to adopt and how to choose it to match the requirements of the project. Resolving this challenge requires analyzing existing libraries to understand their compilation and performance limitations, and specific library architectures. Also, it is necessary to organize a testing process to identify the better option among available AD libraries. In this thesis, we investigate this challenge by comparing the established AD libraries in the Gradbench suite with a new library, XAD as a case study. We explain the infrastructure of Gradbench, the challenges of creating C++ implementations for various mathematical problems, such as Gaussian Mixture Models, Matrix Determinants, Linear-Least Squares, Ordinary Differential Equations. After the integration, we evaluate and compare XAD against other Gradbench libraries across two dimensions: the complexity of integration and computational performance, analyzed using non-parametric statistical methods. By evaluating XAD across diverse mathematical tasks and scenarios , our experiments show that the performance of XAD heavily depends on the specific task at hand. Within the Gradbench suite, XAD is slower than other libraries like Enzyme and CoDiPack. Moreover, this dis- advantage in most of cases is not compensated by a reduced implementation size, as XAD requires a larger amount of code. However, when applied to the many repetitive calcula- tions of the ADOnMeshes, XAD performed much better than Adept, another AD library, demonstrating a high level of efficiency for such specific mathematical contexts.en_UK
dc.language.isoen
dc.rightsinfo:eu-repo/semantics/restrictedAccess
dc.titleUn confronto tra librerie di differenziazione automaticait_IT
dc.title.alternativeA comparison of Automatic Differentiation librariesen_UK
dc.typeinfo:eu-repo/semantics/masterThesis
dc.subject.miurING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
dc.publisher.nameUniversità degli studi di Genova
dc.date.academicyear2025/2026
dc.description.corsolaurea10852 - COMPUTER SCIENCE
dc.description.area7 - SCIENZE MAT.FIS.NAT.
dc.description.department100023 - DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI


Files in questo item

Questo item appare nelle seguenti collezioni

Mostra i principali dati dell'item