English
Related papers

Related papers: Specialization of Generic Array Accesses After Inl…

200 papers

Rapid progress in deep learning is leading to a diverse set of quickly changing models, with a dramatically growing demand for compute. However, as frameworks specialize performance optimization to patterns in popular networks, they…

Machine Learning · Computer Science 2022-08-31 Oliver Rausch , Tal Ben-Nun , Nikoli Dryden , Andrei Ivanov , Shigang Li , Torsten Hoefler

Categorical Message Passing Language (CaMPL) is a functional-style concurrent programming language whose semantics is in category theory, more specifically, linear actegories. Its core programming feature is message passing along typed…

Programming Languages · Computer Science 2026-05-12 Daniel Kiyoshi Hashimoto , Alexanna Little Berg , Priyaa Varshinee Srinivasan

This article presents a resource analysis system for OCaml programs. This system automatically derives worst-case resource bounds for higher-order polymorphic programs with user-defined inductive types. The technique is parametric in the…

Programming Languages · Computer Science 2016-11-03 Jan Hoffmann , Ankush Das , Shu-Chun Weng

Language models (LMs) have demonstrated remarkable capabilities in NLP, yet adapting them efficiently and robustly to specific tasks remains challenging. As their scale and complexity grow, fine-tuning LMs on labelled data often…

Computation and Language · Computer Science 2025-06-27 Zhengyan Shi

Compilers for statically typed functional programming languages are notorious for generating confusing type error messages. When the compiler detects a type error, it typically reports the program location where the type checking failed as…

Programming Languages · Computer Science 2015-08-28 Zvonimir Pavlinovic , Tim King , Thomas Wies

Graph-structured data is prevalent in the real world. Recently, due to the powerful emergent capabilities, Large Language Models (LLMs) have shown promising performance in modeling graphs. The key to effectively applying LLMs on graphs is…

Computation and Language · Computer Science 2024-10-16 Haitong Luo , Xuying Meng , Suhang Wang , Tianxiang Zhao , Fali Wang , Hanyun Cao , Yujun Zhang

The OCaml language comes with a facility for interfacing with C code -- the Foreign Function Interface or FFI. The primitives for working with the OCaml runtime -- and, in particular, with the garbage collector (GC) -- strive for a minimal…

Programming Languages · Computer Science 2019-04-29 Frédéric Bour

Memoisation, or tabling, is a well-known technique that yields large improvements in the performance of some recursive computations. Tabled resolution in Prologs such as XSB and B-Prolog can transform so called left-recursive predicates…

Logic in Computer Science · Computer Science 2017-07-18 Samer Abdallah

Large language models (LLMs) are central to modern natural language processing, delivering exceptional performance in various tasks. However, their substantial computational and memory requirements present challenges, especially for devices…

Remora is a higher-order, rank-polymorphic array-processing programming language, in the same general class of languages as APL and J. It is intended for writing programs to be executed on parallel hardware. We provide an example-driven…

Programming Languages · Computer Science 2020-01-03 Olin Shivers , Justin Slepak , Panagiotis Manolios

Neural architecture search methods are able to find high performance deep learning architectures with minimal effort from an expert. However, current systems focus on specific use-cases (e.g. convolutional image classifiers and recurrent…

Machine Learning · Computer Science 2019-10-01 Renato Negrinho , Darshan Patil , Nghia Le , Daniel Ferreira , Matthew Gormley , Geoffrey Gordon

Accelerating programs is typically done by recognizing code idioms matching high-performance libraries or hardware interfaces. However, recognizing such idioms automatically is challenging. The idiom recognition machinery is difficult to…

Programming Languages · Computer Science 2024-01-01 Jonathan Van der Cruysse , Christophe Dubach

A maximum priority matching is a matching in an undirected graph that maximizes a priority score defined with respect to given vertex priorities. An earlier paper showed how to find maximum priority matchings in unweighted graphs. This…

Data Structures and Algorithms · Computer Science 2016-01-01 Jonathan Turner

Optimizing the parallel training of large models requires exploring intra-operator parallelism plans for a computation graph that typically contains tens of thousands of primitive operators. While the optimization of parallel data…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-08 Weifang Hu , Xuanhua Shi , Yunkai Zhang , Chang Wu , Xuan Peng , Jiaqi Zhai , Hai Jin , Xuehai Qian , Jingling Xue , Yongluan Zhou

Bringing the benefits of gradual typing to a language with parametric polymorphism like System F, while preserving relational parametricity, has proven extremely challenging: first attempts were formulated a decade ago, and several designs…

Programming Languages · Computer Science 2020-06-01 Elizabeth Labrada , Matías Toro , Éric Tanter

Short integer linear programs are programs with a relatively small number of constraints. We show how recent improvements on the running-times of solvers for such programs can be used to obtain fast pseudo-polynomial time algorithms for…

Data Structures and Algorithms · Computer Science 2026-02-09 Danny Hermelin , Dvir Shabtay

In existing systems, the off-chip memory interface allows the memory controller to perform only read or write operations. Therefore, to perform any operation, the processor must first read the source data and then write the result back to…

Hardware Architecture · Computer Science 2016-11-01 Vivek Seshadri , Onur Mutlu

Modern machine learning frameworks are complex: they are typically organised in multiple layers each of which is written in a different language and they depend on a number of external libraries, but at their core they mainly consist of…

Programming Languages · Computer Science 2021-06-22 Artjoms Šinkarovs , Hans-Nikolai Vießmann , Sven-Bodo Scholz

Merging two sorted arrays is a prominent building block for sorting and other functions. Its efficient parallelization requires balancing the load among compute cores, minimizing the extra work brought about by parallelization, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-06-23 Oded Green , Saher Odeh , Yitzhak Birk

Theories and tools based on multiparty session types offer correctness guarantees for concurrent programs that communicate using message-passing. These guarantees usually come at the cost of an intrinsically top-down approach, which…

Programming Languages · Computer Science 2021-11-29 Keigo Imai , Julien Lange , Rumyana Neykova