English
Related papers

Related papers: Runtime Template Instantiation for C++

200 papers

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

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

An approach for incorporating embedded simulation and analysis capabilities in complex simulation codes through template-based generic programming is presented. This approach relies on templating and operator overloading within the C++…

Mathematical Software · Computer Science 2012-05-17 Roger P. Pawlowski , Eric T. Phipps , Andrew G. Salinger

We present the C++ library CppSs (C++ super-scalar), which provides efficient task-parallelism without the need for special compilers or other software. Any C++ compiler that supports C++11 is sufficient. CppSs features different…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-02-27 Steffen Brinkmann , Jose Gracia

Although many active scientific codes use modern Fortran, most contemporary scientific software "libraries" are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing…

Software Engineering · Computer Science 2019-07-04 Seth R. Johnson , Andrey Prokopenko , Katherine J. Evans

The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many…

Software Engineering · Computer Science 2021-04-13 David Baum , Christina Sixtus , Lisa Vogelsberg , Ulrich Eisenecker

fwdpp is a C++ library of routines intended to facilitate the development of forward-time simulations under arbitrary mutation and fitness models. The library design provides a combination of speed, low memory overhead, and modeling…

Populations and Evolution · Quantitative Biology 2014-06-24 Kevin R. Thornton

ROOT is a data analysis framework broadly used in and outside of High Energy Physics (HEP). Since HEP software frameworks always strive for performance improvements, ROOT was extended with experimental support of runtime C++ Modules. C++…

Programming Languages · Computer Science 2019-10-02 Yuka Takahashi , Vassil Vassilev , Oksana Shadura , Raphael Isemann

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 aim of this work is to define and implement an extended C++ language to support the SIMD programming paradigm. The C++ programming language has been extended to express all the potentiality of an abstract SIMD machine consisting of a…

Programming Languages · Computer Science 2007-05-23 Alessandro Lonardo , Emanuele Panizzi , Benedetto Proietti

The expanding hardware diversity in high performance computing adds enormous complexity to scientific software development. Developers who aim to write maintainable software have two options: 1) To use a so-called data locality abstraction…

Software Engineering · Computer Science 2023-11-10 Andreas Hadjigeorgiou , Christodoulos Stylianou , Michele Weiland , Dirk Jacob Verschuur , Jacob Finkenrath

C++ Modules come in C++20 to fix the long-standing build scalability problems in the language. They provide an io-efficient, on-disk representation capable to reduce build times and peak memory usage. ROOT employs the C++ modules technology…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-03 Vassil Vassilev , David Lange , Malik Shahzad Muzaffar , Mircho Rodozov , Oksana Shadura , Alexander Penev

Interval computation is widely used to certify computations that use floating point operations to avoid pitfalls related to rounding error introduced by inaccurate operations. Despite its popularity and practical benefits, support for…

Mathematical Software · Computer Science 2023-05-29 Xuan Tang , Zachary Ferguson , Teseo Schneider , Denis Zorin , Shoaib Kamil , Daniele Panozzo

Language-orientated programming promises to elevate programmer productivity through increased abstrac- tion capabilities. Structural programming environments provide apparatus to reduce the difficulties with syntax. The language workbench,…

Programming Languages · Computer Science 2014-03-18 Gavin Wood

Expression templates are a well-known set of techniques for improving the efficiency of operator overloading-based forward mode automatic differentiation schemes in the C++ programming language by translating the differentiation from…

Mathematical Software · Computer Science 2012-05-21 Eric Phipps , Roger Pawlowski

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

Last several years, GPUs are used to accelerate computations in many computer science domains. We focused on GPU accelerated Support Vector Machines (SVM) training with non-linear kernel functions. We had searched for all available GPU…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-07-21 Jan Vanek , Josef Michalek , Josef Psutka

VeriFast is a prototype tool based on separation logic for modular verification of C and Java programs. We are in the process of adding support for C++. In this report, we describe the features of C++ for which we added support so far, as…

Logic in Computer Science · Computer Science 2022-12-29 Niels Mommen , Bart Jacobs

Programs written in C/C++ often include inline assembly: a snippet of architecture-specific assembly code used to access low-level functionalities that are impossible or expensive to simulate in the source language. Although inline assembly…

Programming Languages · Computer Science 2024-09-04 Paulo Emílio de Vilhena , Ori Lahav , Viktor Vafeiadis , Azalea Raad

Numerical simulations are ubiquitous in mathematics and computational science. Several industrial and clinical applications entail modeling complex multiphysics systems that evolve over a variety of spatial and temporal scales. This study…

Mathematical Software · Computer Science 2022-11-14 Pasquale Claudio Africa