English
Related papers

Related papers: The Awkward World of Python and C++

200 papers

PyTorch \texttt{2.x} introduces a compiler designed to accelerate deep learning programs. However, for machine learning researchers, adapting to the PyTorch compiler to full potential can be challenging. The compiler operates at the Python…

Machine Learning · Computer Science 2024-03-22 Kaichao You , Runsheng Bai , Meng Cao , Jianmin Wang , Ion Stoica , Mingsheng Long

We present qcor - a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler…

Python has gained widespread popularity in the fields of machine learning, artificial intelligence, and data engineering due to its effectiveness and extensive libraries. R, on its side, remains a dominant language for statistical analysis…

Many popular Python libraries use C-extensions for performance-critical operations allowing users to combine the best of the two worlds: The simplicity and versatility of Python and the performance of C. A drawback of this approach is that…

Software Engineering · Computer Science 2026-03-09 Lucas Berg , Lukas Krodinger , Stephan Lukasczyk , Annibale Panichella , Gordon Fraser , Wim Vanhoof , Xavier Devroey

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

The Python package fluidfft provides a common Python API for performing Fast Fourier Transforms (FFT) in sequential, in parallel and on GPU with different FFT libraries (FFTW, P3DFFT, PFFT, cuFFT). fluidfft is a comprehensive FFT framework…

Mathematical Software · Computer Science 2019-04-11 Ashwin Vishnu Mohanan , Cyrille Bonamy , Pierre Augier

Testing is one of the most indispensable tasks in software engineering. The role of testing in software development has grown significantly because testing is able to reveal defects in the code in an early stage of development. Many unit…

Software Engineering · Computer Science 2010-12-07 Norbert Pataki

The increasing variety of input data and complexity of tasks that are handled by the devices of internet of things (IoT) environments require solutions that consider the limited hardware and computation power of the edge devices. Complex…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-24 Halit Uyanık , Tolga Ovatman

We propose Chunks and Tasks, a parallel programming model built on abstractions for both data and work. The application programmer specifies how data and work can be split into smaller pieces, chunks and tasks, respectively. The Chunks and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-29 Emanuel H. Rubensson , Elias Rudberg

Cyanure is an open-source C++ software package with a Python interface. The goal of Cyanure is to provide state-of-the-art solvers for learning linear models, based on stochastic variance-reduced stochastic optimization with acceleration…

Machine Learning · Statistics 2019-12-23 Julien Mairal

A master-worker architecture is presented for obtaining combined experimental results through joint fits of datasets from several experiments. The design of the architecture allows such joint fits to be performed keeping the data separated,…

Data Analysis, Statistics and Probability · Physics 2018-04-10 Eli Ben-Haim , René Brun , Bertrand Echenard , Thomas E. Latham

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

The use of Python is noticeably growing among the scientific community, and Astronomy is not an exception. The power of Python consists of being an extremely versatile high-level language, easy to program that combines both traditional…

Instrumentation and Methods for Astrophysics · Physics 2018-07-16 Daniel M. Faes

In software engineering, different approaches and machine learning models leverage different types of data: source code, textual information, historical data. An important part of any project is its dependencies. The list of dependencies is…

Software Engineering · Computer Science 2022-09-09 Yaroslav Golubev , Egor Bogomolov , Egor Bulychev , Timofey Bryksin

The rise of serverless computing introduced a new class of scalable, elastic and widely available parallel workers in the cloud. Many systems and applications benefit from offloading computations and parallel tasks to dynamically allocated…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-09-23 Marcin Copik , Lukas Möller , Alexandru Calotoiu , Torsten Hoefler

Sparse linear algebra is a cornerstone of many scientific computing and machine learning applications. Python has become a popular choice for these applications due to its simplicity and ease of use. Yet high performance sparse kernels in…

Mathematical Software · Computer Science 2025-10-10 Keshvi Tuteja , Gregor Olenik , Roman Mishchuk , Yu-Hsiang Tsai , Markus Götz , Achim Streit , Hartwig Anzt , Charlotte Debus

Data Access will be the next generation data abstraction layer for EPICS. Its implementation in C++ brought up a number of issues that are related to object oriented technology's impact on CPU and memory usage. What is gained by the new…

Software Engineering · Computer Science 2007-05-23 R. Lange , J. Hill

This paper presents the case study of a non-intrusive porting of a monolithic C++ library for real-time 3D hand tracking, to the domain of edge-based computation. Towards a proof of concept, the case study considers a pair of workstations,…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-01 Ammar Qammaz , Sokol Kosta , Nikolaos Kyriazis , Antonis Argyros

Asynchronous Many-Task Systems (AMTs) exhibit different communication patterns from traditional High-Performance Computing (HPC) applications, characterized by asynchrony, concurrency, and multithreading. Existing communication libraries…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-20 Jiakun Yan , Marc Snir

The deep learning language of choice these days is Python; measured by factors such as available libraries and technical support, it is hard to beat. At the same time, software written in lower-level programming languages like C++ retain…

Computation and Language · Computer Science 2024-08-23 Thamme Gowda , Roman Grundkiewicz , Elijah Rippeth , Matt Post , Marcin Junczys-Dowmunt