English
Related papers

Related papers: Runtime-Flexible Multi-dimensional Arrays and View…

200 papers

Performance, genericity and flexibility are three valuable qualities for scientific environments that tend to be antagonistic. C++ provides excellent support for both performances and genericity thanks to its support for (class and…

Software Engineering · Computer Science 2016-11-04 Akim Demaille

Data structures and algorithms are essential building blocks for programs, and \emph{distributed data structures}, which automatically partition data across multiple memory locales, are essential to writing high-level parallel programs.…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-06-06 Benjamin Brock , Robert Cohn , Suyash Bakshi , Tuomas Karna , Jeongnim Kim , Mateusz Nowak , Łukasz Ślusarczyk , Kacper Stefanski , Timothy G. Mattson

When implementing functionality which requires sparse matrices, there are numerous storage formats to choose from, each with advantages and disadvantages. To achieve good performance, several formats may need to be used in one program,…

Mathematical Software · Computer Science 2019-10-22 Conrad Sanderson , Ryan Curtin

Arrays are such a rich and fundamental data type that they tend to be built into a language, either in the compiler or in a large low-level library. Defining this functionality at the user level instead provides greater flexibility for…

Programming Languages · Computer Science 2014-07-16 Jeff Bezanson , Jiahao Chen , Stefan Karpinski , Viral Shah , Alan Edelman

Despite the importance of sparse matrices in numerous fields of science, software implementations remain difficult to use for non-expert users, generally requiring the understanding of underlying details of the chosen sparse matrix storage…

Mathematical Software · Computer Science 2019-07-23 Conrad Sanderson , Ryan Curtin

[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

This article presents a new open-source C++ implementation to solve the SLAM problem, which is focused on genericity, versatility and high execution speed. It is based on an original object oriented architecture, that allows the combination…

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

Multi-dimensional arrays are ubiquitous in high-performance computing (HPC), but their absence from the C++ language standard is a long-standing and well-known limitation of their use for HPC. This paper describes the design and…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-14 D. S. Hollman , Bryce Adelstein Lelbach , H. Carter Edwards , Mark Hoemmen , Daniel Sunderland , Christian R. Trott

In this short article I introduce the spray package, which provides some functionality for handling sparse arrays. The package uses the C++ Standard Template Library's map class to store and retrieve elements. One natural application for…

Symbolic Computation · Computer Science 2022-10-21 Robin K. S. Hankin

Visibility is a fundamental concept in computational geometry, with numerous applications in surveillance, robotics, and games. This software paper presents T\v{r}iVis, a C++ library developed by the authors for computing numerous…

Robotics · Computer Science 2025-02-18 Jan Mikula , Miroslav Kulich , Libor Přeučil

A C++ software design is presented that can be used to interpolate data in any number of dimensions. The design is based on a combination of templates of functional collections of elements and so-called type lists. The design allows for…

Mathematical Software · Computer Science 2019-07-08 Maarten de Jong

C++ does not support run-time resolution of template type arguments. To circumvent this restriction, we can instantiate a template for all possible combinations of type arguments at compile time and then select the proper instance at run…

Programming Languages · Computer Science 2013-06-24 Daniel Langr , Pavel Tvrdík , Tomáš Dytrych , Jerry P. Draayer

There are numerous examples of problems in symbolic algebra in which the required storage grows far beyond the limitations even of the distributed RAM of a cluster. Often this limitation determines how large a problem one can solve in…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-06-11 Daniel Kunkle

Most ray tracing libraries allow the user to provide custom functionality that is executed when a potential ray surface interaction was encountered to determine if the interaction was valid or traversal should be continued. This is e.g.…

Graphics · Computer Science 2020-01-01 Stefan Zellmann

We review the dimensional check problem of the high-level programming languages, discuss the existing solutions, and come up with a new solution suited for scientific and engineering computations. Then, we introduce Univec, our C++ library…

Computational Physics · Physics 2023-07-18 Eduard George Stan , Dan Andrei Ciubotaru , Michele Renda , Călin Alexa

We present a highly optimized implementation of tiered vectors, a data structure for maintaining a sequence of $n$ elements supporting access in time $O(1)$ and insertion and deletion in time $O(n^\epsilon)$ for $\epsilon > 0$ while using…

Data Structures and Algorithms · Computer Science 2017-11-02 Philip Bille , Anders Roy Christiansen , Mikko Berggren Ettienne , Inge Li Gørtz

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

OpenGM is a C++ template library for defining discrete graphical models and performing inference on these models, using a wide range of state-of-the-art algorithms. No restrictions are imposed on the factor graph to allow for higher-order…

Artificial Intelligence · Computer Science 2012-06-04 Bjoern Andres , Thorsten Beier , Joerg H. Kappes

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
‹ Prev 1 2 3 10 Next ›