English
Related papers

Related papers: Practical Sparse Matrices in C++ with Hybrid Stora…

200 papers

This paper explores the relationship between C++ templates and partial evaluation. Templates were designed to support generic programming, but unintentionally provided the ability to perform compile-time computations and code generation.…

Programming Languages · Computer Science 2007-05-23 Todd L. Veldhuizen

Recent years have seen considerable work on compiling sparse tensor algebra expressions. This paper addresses a shortcoming in that work, namely how to generate efficient code (in time and space) that scatters values into a sparse result…

Programming Languages · Computer Science 2024-04-09 Genghan Zhang , Olivia Hsu , Fredrik Kjolstad

[abridged] Context: Multidimensional arrays are used by many different algorithms. As such, indexing and broadcasting complex operations over multidimensional arrays are ubiquitous tasks and can be performance limiting. Inquiry:…

Mathematical Software · Computer Science 2017-04-04 Florian Heyl , Oliver Serang

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

A major challenge in the deployment of scientific software solutions is the adaptation of research prototypes to production-grade code. While high-level languages like MATLAB are useful for rapid prototyping, they lack the resource…

Mathematical Software · Computer Science 2025-12-30 Conrad Sanderson , Ryan Curtin

In the last decade, Expression Templates (ET) have gained a reputation as an efficient performance optimization tool for C++ codes. This reputation builds on several ET-based linear algebra frameworks focused on combining both elegant and…

Performance · Computer Science 2012-08-15 Klaus Iglberger , Georg Hager , Jan Treibig , Ulrich Ruede

We consider the problem of developing an efficient multi-threaded implementation of the matrix-vector multiplication algorithm for sparse matrices with structural symmetry. Matrices are stored using the compressed sparse row-column format…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-05-18 Vicente H. F. Batista , George O. Ainsworth , Fernando L. B. Ribeiro

The matrices used in many computational settings are naturally sparse, holding a small percentage of nonzero elements. Storing such matrices in specialized sparse formats enables algorithms that avoid wasting computation on zeros,…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-13 Pratyush Das , Amirhossein Basareh , Adhitha Dias , Artem Pelenitsyn , Kirshanthan Sundararajah , Milind Kulkarni , Ben Delaware

The standardization of an interface for dense linear algebra operations in the BLAS standard has enabled interoperability between different linear algebra libraries, thereby boosting the success of scientific computing, in particular in…

We implement two novel algorithms for sparse-matrix dense-matrix multiplication (SpMM) on the GPU. Our algorithms expect the sparse input in the popular compressed-sparse-row (CSR) format and thus do not require expensive format conversion.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-13 Carl Yang , Aydin Buluc , John D. Owens

In this article we present a new format for storing sparse matrices. The format is designed to perform well mainly on the GPU devices. We present its implementation in CUDA. The performance has been tested on 1,600 different types of…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-12-13 Tomáš Oberhuber , Atsushi Suzuki , Jan Vacata

The parallel algorithm for loading large sparse matrices from files into distributed memories of high performance computing (HPC) systems is presented. This algorithm was designed specially for matrices stored in files in the space-effcient…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-12-30 Daniel Langr , Ivan Šimeček , Pavel Tvrdík

In recent years, the fervent demand for computational power across various domains has prompted hardware manufacturers to introduce specialized computing hardware aimed at enhancing computational capabilities. Particularly, the utilization…

Numerical Analysis · Mathematics 2024-03-12 Hongyaoxing Gu

We present ensmallen, a fast and flexible C++ library for mathematical optimization of arbitrary user-supplied functions, which can be applied to many machine learning problems. Several types of optimizations are supported, including…

Mathematical Software · Computer Science 2018-12-11 Shikhar Bhardwaj , Ryan R. Curtin , Marcus Edel , Yannis Mentekidis , Conrad Sanderson

Multilayer perceptrons (MLPs) remain fundamental to modern deep learning, yet their algorithmic details are rarely presented in complete, explicit \emph{batch matrix-form}. Rather, most references express gradients per sample or rely on…

Machine Learning · Computer Science 2025-11-18 Wieger Wesselink , Bram Grooten , Huub van de Wetering , Qiao Xiao , Decebal Constantin Mocanu

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

Runtime characteristics of sparse matrix computations and related processes may be often improved by reducing memory footprints of involved matrices. Such a reduction can be usually achieved when matrices are processed in a block-wise…

Numerical Analysis · Computer Science 2018-01-01 Daniel Langr

The article deals with a kind of recursive function templates in C++, where the recursion is realized corresponding template parameters to achieve better computational performance. Some specialization of these template functions ends the…

Mathematical Software · Computer Science 2007-05-23 Volodymyr Myrnyy

Modern architectures require applications to make effective use of caches to achieve high performance and hide memory latency. This in turn requires careful consideration of placement of data in memory to exploit spatial locality, leverage…

Programming Languages · Computer Science 2019-01-24 Juliana Franco , Alexandros Tasos , Sophia Drossopoulou , Tobias Wrigstad , Susan Eisenbach

While memory corruption bugs stemming from the use of unsafe programming languages are an old and well-researched problem, the resulting vulnerabilities still dominate real-world exploitation today. Various mitigations have been proposed to…

Cryptography and Security · Computer Science 2021-08-20 Emanuel Q. Vintila , Philipp Zieris , Julian Horsch