English
Related papers

Related papers: Awkward Just-In-Time (JIT) Compilation: A Develope…

200 papers

Feature extraction is a fundamental task in the application of machine learning methods to SAT solving. It is used in algorithm selection and configuration for solver portfolios and satisfiability classification. Many approaches have been…

Artificial Intelligence · Computer Science 2022-05-02 Benjamin Provan-Bessell , Marco Dalla , Andrea Visentin , Barry O'Sullivan

The paper describes an approach to implementing genetic programming, which uses the LLVM library to just-in-time compile/interpret the evolved abstract syntax trees. The solution is described in some detail, including a parser (based on…

Neural and Evolutionary Computing · Computer Science 2017-01-23 Michal Gregor , Juraj Spalek

One of the major challenges being faced by Database managers today is to manage the performance of complex SQL queries which are dynamic in nature. Since it is not possible to tune each and every query because of its dynamic nature, there…

Databases · Computer Science 2013-08-19 Pinaki Mitra , Girish Sundaram , Sreedish PS

Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulting in polluted, non-portable code. As we enter an era of…

Programming Languages · Computer Science 2019-10-10 Bruce Collie , Philip Ginsbach , Michael F. P. O'Boyle

Probabilistic programming languages are valuable because they allow domain experts to express probabilistic models and inference algorithms without worrying about irrelevant details. However, for decades there remained an important and…

Programming Languages · Computer Science 2019-07-03 Rajan Walia , Praveen Narayanan , Jacques Carette , Sam Tobin-Hochstadt , Chung-chieh Shan

We implement a trust region method on the GPU for nonlinear least squares curve fitting problems using a new deep learning Python library called JAX. Our open source package, JAXFit, works for both unconstrained and constrained curve…

Machine Learning · Computer Science 2022-08-26 Lucas R. Hofer , Milan Krstajić , Robert P. Smith

Achieving high performance for Sparse MatrixMatrix Multiplication (SpMM) has received increasing research attention, especially on multi-core CPUs, due to the large input data size in applications such as graph neural networks (GNNs). Most…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-12-12 Qiang Fu , Thomas B. Rolinger , H. Howie Huang

Performance analysis is a critical step in the oft-repeated, iterative process of performance tuning of parallel programs. Per-process, per-thread traces (detailed logs of events with timestamps) enable in-depth analysis of parallel program…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-05-15 Abhinav Bhatele , Rakrish Dhakal , Alexander Movsesyan , Aditya K. Ranjan , Onur Cankur

Among numerical libraries capable of computing gradient descent optimization, JAX stands out by offering more features, accelerated by an intermediate representation known as Jaxpr language. However, editing the Jaxpr code is not directly…

Programming Languages · Computer Science 2024-03-19 Pierrick Pochelu

In recent years, heterogeneous computing has emerged as the vital way to increase computers? performance and energy efficiency by combining diverse hardware devices, such as Graphics Processing Units (GPUs) and Field Programmable Gate…

Programming Languages · Computer Science 2020-11-02 Michail Papadimitriou , Juan Fumero , Athanasios Stratikopoulos , Foivos S. Zakkak , Christos Kotselidis

The C++ programming language is not only a keystone of the high-performance-computing ecosystem but has proven to be a successful base for portable parallel-programming frameworks. As is well known, C++ programmers use templates to…

Programming Languages · Computer Science 2019-04-30 Hal Finkel , David Poliakoff , David F. Richards

An `obfuscation' for encrypted computing is quantified exactly here, leading to an argument that security against polynomial-time attacks has been achieved for user data via the deliberately `chaotic' compilation required for security…

Cryptography and Security · Computer Science 2019-04-30 Peter T. Breuer

We present LeJit, a template-based framework for testing Java just-in-time (JIT) compilers. Like recent template-based frameworks, LeJit executes a template -- a program with holes to be filled -- to generate concrete programs given as…

Software Engineering · Computer Science 2024-07-09 Zhiqiang Zang , Fu-Yao Yu , Aditya Thimmaiah , August Shi , Milos Gligoric

Folklore is often saying "The Java memory model is broken." Therefore, several approaches have proposed repairs, only to find new programs exhibiting unexpected, unintuitive behavior or the model forbidding standard compiler optimizations.…

Programming Languages · Computer Science 2026-04-20 Lukas Panneke , Heike Wehrheim

Fitting complicated models to large datasets is a bottleneck of many analyses. We present GooFit, a library and tool for constructing arbitrarily-complex probability density functions (PDFs) to be evaluated on nVidia GPUs or on multicore…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-06-17 R. Andreassen , B. T. Meadows , M. de Silva , M. D. Sokoloff , K. Tomko

Researchers face a persistent barrier when applying computational algorithms with parameter configuration typically demanding programming skills, interfaces differing across environments, and settings rarely persisting between sessions.…

A recursive descent parser is built from a set of mutually-recursive functions, where each function directly implements one of the nonterminals of a grammar. A packrat parser uses memoization to reduce the time complexity for recursive…

Programming Languages · Computer Science 2020-07-08 Luke A. D. Hutchison

Numba is a game-changing compiler for high-performance computing with Python. It produces machine code that runs outside of the single-threaded Python interpreter and that fully utilizes the resources of modern CPUs. This means support for…

Software Engineering · Computer Science 2023-05-17 Srinath Kailasa , Tingyu Wang , Lorena A. Barba , Timo Betcke

A reasonable C++ Java Native Interface (JNI) technique termed C++ Wrappered JNI (C++WJ) is presented. The technique simplifies current error-prone JNI development by wrappering JNI calls. Provided development is done with the aid of a C++…

Software Engineering · Computer Science 2007-05-23 Craig Bordelon

Large repositories of source code for research tend to limit their utility to static analysis of the code, as they give no guarantees on whether the projects are compilable, much less runnable in any way. The immediate consequence of the…

Software Engineering · Computer Science 2018-04-13 Pedro Martins , Rohan Achar , Cristina V. Lopes