Sparse matrices represent a fundamental data structure for the efficient processing of high-dimensional datasets. Among the various representation schemes, the Compressed Sparse Column (CSC) format is particularly widespread due to its efficiency both in terms of memory usage and element access. In this thesis, the development and implementation of a set of operations aimed at the efficient manipulation of CSC matrices are proposed, with particular focus on row-wise and column-wise computations. The adopted approach involves the integration of the R statistical environment with the C++ programming language through the Rcpp interface, in order to combine the flexibility of R—widely used for data analysis in scientific contexts—with the high computational performance of C++. To further enhance efficiency, parallelization techniques using OpenMP have also been introduced, with the goal of distributing the computational workload across multiple threads. Experimental results obtained on large real-world datasets highlight significant performance improvements compared to the main R libraries currently available.
Le matrici sparse costituiscono una struttura dati essenziale per l’elaborazione efficiente di dataset caratterizzati da elevata dimensionalità. Tra i diversi schemi di rappresentazione, il formato Compressed Sparse Column (CSC) risulta particolarmente diffuso grazie alla sua efficienza sia in termini di memoria sia di accesso agli elementi. In questo lavoro di tesi viene proposto lo sviluppo e l’implementato un insieme di operazioni mirate alla manipolazione efficiente di matrici CSC, con particolare attenzione alle elaborazioni per riga e per colonna. L’approccio adottato prevede l’integrazione tra l’ambiente statistico R e il linguaggio C++ mediante l’interfaccia Rcpp, al fine di coniugare la flessibilità di R, ampiamente utilizzato per l’analisi di dati in ambito scientifico, con le elevate prestazioni computazionali di C++. A supporto dell’efficienza, sono state inoltre introdotte tecniche di parallelizzazione mediante OpenMP, finalizzate alla distribuzione del carico di calcolo su più thread. I risultati sperimentali, ottenuti su dataset reali di grandi dimensioni, evidenziano miglioramenti significativi in termini di prestazioni rispetto alle principali librerie R attualmente disponibili.
Progettazione e sviluppo di operazioni efficienti per riga e per colonna su matrici sparse
SARTOR, ALESSANDRO
2024/2025
Abstract
Sparse matrices represent a fundamental data structure for the efficient processing of high-dimensional datasets. Among the various representation schemes, the Compressed Sparse Column (CSC) format is particularly widespread due to its efficiency both in terms of memory usage and element access. In this thesis, the development and implementation of a set of operations aimed at the efficient manipulation of CSC matrices are proposed, with particular focus on row-wise and column-wise computations. The adopted approach involves the integration of the R statistical environment with the C++ programming language through the Rcpp interface, in order to combine the flexibility of R—widely used for data analysis in scientific contexts—with the high computational performance of C++. To further enhance efficiency, parallelization techniques using OpenMP have also been introduced, with the goal of distributing the computational workload across multiple threads. Experimental results obtained on large real-world datasets highlight significant performance improvements compared to the main R libraries currently available.| File | Dimensione | Formato | |
|---|---|---|---|
|
Sartor_Alessandro.pdf
accesso aperto
Dimensione
709.42 kB
Formato
Adobe PDF
|
709.42 kB | Adobe PDF | Visualizza/Apri |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/97854