English
Related papers

Related papers: The Chunks and Tasks Matrix Library 2.0

200 papers

Dense linear layers are the dominant computational bottleneck in foundation models. Identifying more efficient alternatives to dense matrices has enormous potential for building more compute-efficient models, as exemplified by the success…

Machine Learning · Computer Science 2024-06-11 Shikai Qiu , Andres Potapczynski , Marc Finzi , Micah Goldblum , Andrew Gordon Wilson

Quantum-based molecular dynamics (QMD) is a highly accurate and transferable method for material science simulations. However, the time scales and system sizes accessible to QMD are typically limited to picoseconds and a few hundred atoms.…

The multiplication of a matrix by its transpose, $A^T A$, appears as an intermediate operation in the solution of a wide set of problems. In this paper, we propose a new cache-oblivious algorithm (ATA) for computing this product, based upon…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-08 Viviana Arrigoni , Filippo Maggioli , Annalisa Massini , Emanuele Rodolà

Field Programmable Gate Arrays generate algorithmic specific architectures that improve the code's FLOP per watt ratio. Such devices are re-gaining interest due to the rise of new tools that facilitate their programming, such as OmpSs. The…

Computational Physics · Physics 2021-07-28 Guillermo Oyarzun , Daniel Peyrolon , Carlos Alvarez , Xavier Martorell

The C++ Standard Template Library is the flagship example for libraries based on the generic programming paradigm. The usage of this library is intended to minimize the number of classical C/C++ errors, but does not warrant bug-free…

Programming Languages · Computer Science 2011-11-17 N. Pataki

Sparse fusion is a compile-time loop transformation and runtime scheduling implemented as a domain-specific code generator. Sparse fusion generates efficient parallel code for the combination of two sparse matrix kernels where at least one…

Programming Languages · Computer Science 2021-11-25 Kazem Cheshmi , Michelle Mills Strout , Maryam Mehri Dehnavi

Particle filters are a class of algorithms that are used for "tracking" or "filtering" in real-time for a wide array of time series models. Despite their comprehensive applicability, particle filters are not always the tool of choice for…

Computation · Statistics 2020-01-29 Taylor R. Brown

A C++ library, named ZKCM, has been developed for the purpose of multiprecision matrix calculations, which is based on the GNU MP and MPFR libraries. It is especially convenient for writing programs involving tensor-product operations,…

Mathematical Software · Computer Science 2012-08-28 Akira SaiToh

We propose a new diagrammatic modeling language, DML. The paradigm used is that of the category theory and in particular of the pushout tool. We show that most of the object-oriented structures can be described with this tool and have many…

Symbolic Computation · Computer Science 2008-09-04 Jean-Guillaume Dumas , Dominique Duval

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

If learning methods are to scale to the massive sizes of modern datasets, it is essential for the field of machine learning to embrace parallel and distributed computing. Inspired by the recent development of matrix factorization methods…

Machine Learning · Computer Science 2013-10-29 Lester Mackey , Ameet Talwalkar , Michael I. Jordan

We introduce Diffuse, a system that dynamically performs task and kernel fusion in distributed, task-based runtime systems. The key component of Diffuse is an intermediate representation of distributed computation that enables the necessary…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-12-17 Rohan Yadav , Shiv Sundram , Wonchan Lee , Michael Garland , Michael Bauer , Alex Aiken , Fredrik Kjolstad

Parallel algorithms relying on synchronous parallelization libraries often experience adverse performance due to global synchronization barriers. Asynchronous many-task runtimes offer task futurization capabilities that minimize or remove…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-06-05 Alexander Strack , Christopher Taylor , Patrick Diehl , Dirk Pflüger

We introduce a code generator that converts unoptimized C++ code operating on sparse data into vectorized and parallel CPU or GPU kernels. Our approach unrolls the computation into a massive expression graph, performs redundant expression…

Programming Languages · Computer Science 2022-03-15 Philipp Herholz , Xuan Tang , Teseo Schneider , Shoaib Kamil , Daniele Panozzo , Olga Sorkine-Hornung

We introduce the Control Toolbox (CT), an open-source C++ library for efficient modeling, control, estimation, trajectory optimization and Model Predictive Control. The CT is applicable to a broad class of dynamic systems but features…

Robotics · Computer Science 2018-07-04 Markus Giftthaler , Michael Neunert , Markus Stäuble , Jonas Buchli

We describe a new library named picasso, which implements a unified framework of pathwise coordinate optimization for a variety of sparse learning problems (e.g., sparse linear regression, sparse logistic regression, sparse Poisson…

Machine Learning · Statistics 2020-06-30 Jason Ge , Xingguo Li , Haoming Jiang , Han Liu , Tong Zhang , Mengdi Wang , Tuo Zhao

We present POLO --- a C++ library for large-scale parallel optimization research that emphasizes ease-of-use, flexibility and efficiency in algorithm design. It uses multiple inheritance and template programming to decompose algorithms into…

Optimization and Control · Mathematics 2018-10-09 Arda Aytekin , Martin Biel , Mikael Johansson

We design and develop a work-efficient multithreaded algorithm for sparse matrix-sparse vector multiplication (SpMSpV) where the matrix, the input vector, and the output vector are all sparse. SpMSpV is an important primitive in the…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-10-26 Ariful Azad , Aydin Buluc

Processors with large numbers of cores are becoming commonplace. In order to take advantage of the available resources in these systems, the programming paradigm has to move towards increased parallelism. However, increasing the level of…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-10-07 Ashkan Tousimojarad , Wim Vanderbauwhede

While many of the architectural details of future exascale-class high performance computer systems are still a matter of intense research, there appears to be a general consensus that they will be strongly heterogeneous, featuring…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-10-05 Moritz Kreutzer , Jonas Thies , Melven Röhrig-Zöllner , Andreas Pieper , Faisal Shahzad , Martin Galgon , Achim Basermann , Holger Fehske , Georg Hager , Gerhard Wellein