English
Related papers

Related papers: A User-Friendly Hybrid Sparse Matrix Class in C++

200 papers

This report provides an introduction to the ensmallen numerical optimization library, as well as a deep dive into the technical details of how it works. The library provides a fast and flexible C++ framework for mathematical optimization of…

Mathematical Software · Computer Science 2023-11-16 Ryan R. Curtin , Marcus Edel , Rahul Ganesh Prabhu , Suryoday Basak , Zhihao Lou , Conrad Sanderson

Balancing sensitivity to new tasks and stability for retaining past knowledge is crucial in continual learning (CL). Recently, sharpness-aware minimization has proven effective in transfer learning and has also been adopted in continual…

Machine Learning · Computer Science 2025-09-01 Wei Li , Hangjie Yuan , Zixiang Zhao , Yifan Zhu , Aojun Lu , Tao Feng , Yanan Sun

On the way to Exascale, programmers face the increasing challenge of having to support multiple hardware architectures from the same code base. At the same time, portability of code and performance are increasingly difficult to achieve as…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-06-14 Thomas Heller , Hartmut Kaiser , Patrick Diehl , Dietmar Fey , Marc Alexander Schweitzer

Many approaches to transform classification problems from non-linear to linear by feature transformation have been recently presented in the literature. These notably include sparse coding methods and deep neural networks. However, many of…

Machine Learning · Computer Science 2015-07-08 Alessandro Montalto , Giovanni Tessitore , Roberto Prevete

Iterators are a fundamental programming abstraction for traversing and modifying elements in containers in mainstream imperative languages such as C++. Iterators provide a uniform access mechanism that hides low-level implementation details…

Programming Languages · Computer Science 2026-04-16 Yihe Li , Gregory J. Duck

Sparse linear algebra kernels play a critical role in numerous applications, covering from exascale scientific simulation to large-scale data analytics. Offloading linear algebra kernels on one GPU will no longer be viable in these…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-09-19 Jieyang Chen , Chenhao Xie , Jesun S Firoz , Jiajia Li , Shuaiwen Leon Song , Kevin Barker , Mark Raugas , Ang Li

Sparse matrix representations are ubiquitous in computational science and machine learning, leading to significant reductions in compute time, in comparison to dense representation, for problems that have local connectivity. The adoption of…

Machine Learning · Computer Science 2023-11-13 Nicolas Nytko , Ali Taghibakhshi , Tareq Uz Zaman , Scott MacLachlan , Luke N. Olson , Matt West

This paper presents a programming language which includes paradigms that are usually associated with declarative languages, such as sets, rules and search, into an imperative (functional) language. Although these paradigms are separately…

Programming Languages · Computer Science 2007-05-23 Yves Caseau , Francois-Xavier Josset , Francois Laburthe

Adapting large, object-oriented C++ codebases for hardware acceleration might be extremely challenging, particularly when targeting heterogeneous platforms such as GPUs. Marionette is a C++17 library designed to address this by enabling…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-10 Nuno dos Santos Fernandes , Pedro Tomás , Nuno Roma , Frank Winklmeier , Patricia Conde-Muíño

In this era of diverse and heterogeneous computer architectures, the programmability issues, such as productivity and portable efficiency, are crucial to software development and algorithm design. One way to approach the problem is to step…

Mathematical Software · Computer Science 2012-07-10 Mauro Bianco , Ugo Varetto

Deep neural networks employ specialized architectures for vision, sequential and language tasks, yet this proliferation obscures their underlying commonalities. We introduce a unified matrix-order framework that casts convolutional,…

Machine Learning · Computer Science 2025-07-24 Yuzhou Zhu

The main purpose of this paper is to propose six programs in C++ for matrix computations and solving recurrent equations systems with entries in min plus algebra.

Rings and Algebras · Mathematics 2013-06-25 Mihai Ivan , Gheorghe Ivan

Error handling is the process of responding to and recovering from error conditions in the program. In Swift, errors are represented by values of types that conform to the Error protocol. Throwing an error lets you indicate that something…

Programming Languages · Computer Science 2023-01-26 Roberto Rosmaninho

Sparse matrix-vector multiplication (SpMV) is a fundamental operation in machine learning, scientific computing, and graph algorithms. In this paper, we investigate the space, time, and energy efficiency of SpMV using various compressed…

Data Structures and Algorithms · Computer Science 2024-09-30 Francesco Tosoni , Philip Bille , Valerio Brunacci , Alessio De Angelis , Paolo Ferragina , Giovanni Manzini

The ongoing trend of hardware specialization has led to a growing use of custom data formats when processing sparse workloads, which are typically memory-bound. These formats facilitate optimized software/hardware implementations by…

Computation and Language · Computer Science 2024-03-12 Jie Liu , Zhongyuan Zhao , Zijian Ding , Benjamin Brock , Hongbo Rong , Zhiru Zhang

Matrix computations are a fundamental building-block of edge computing systems, with a major recent uptick in demand due to their use in AI/ML training and inference procedures. Existing approaches for distributing matrix computations…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-08-12 Anindya Bijoy Das , Aditya Ramamoorthy , David J. Love , Christopher G. Brinton

This paper shows how to generate code that efficiently converts sparse tensors between disparate storage formats (data layouts) such as CSR, DIA, ELL, and many others. We decompose sparse tensor conversion into three logical phases:…

Mathematical Software · Computer Science 2020-07-01 Stephen Chou , Fredrik Kjolstad , Saman Amarasinghe

Matrix-matrix multiplication is a basic operation in linear algebra and an essential building block for a wide range of algorithms in various scientific fields. Theory and implementation for the dense, square matrix case are well-developed.…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-06-01 Alfio Lazzaro , Joost VandeVondele , Juerg Hutter , Ole Schuett

We present a set of programming tools (classes and functions written in C++ and based on Message Passing Interface) for fast development of generic parallel (and non-parallel) lattice simulations. They are collectively called MDP 1.2. These…

High Energy Physics - Lattice · Physics 2009-10-31 Massimo Di Pierro

Approximate memory is a technique to mitigate the performance gap between memory subsystems and CPUs with its reduced access latency at a cost of data integrity. To gain benefit from approximate memory for realistic applications, it is…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-04-06 Soramichi Akiyama