中文
相关论文

相关论文: A Formal Semantics of C with OpenMP Parallelism (E…

200 篇论文

C is the lingua franca of programming and almost any device can be programmed using C. However, programming mod-ern heterogeneous architectures such as multi-core CPUs and GPUs requires explicitly expressing parallelism as well as…

FormalSpecCpp is a dataset designed to fill the gap in standardized benchmarks for verifying formal specifications in C++ programs. To the best of our knowledge, this is the first comprehensive collection of C++ programs with well-defined…

软件工程 · 计算机科学 2025-02-24 Madhurima Chakraborty , Peter Pirkelbauer , Qing Yi

In this paper we propose a new approach to the description of a network of interacting processes in a traditional programming language. Special programming languages or extensions to sequential languages are usually designed to express the…

编程语言 · 计算机科学 2017-02-17 Sergey Vostokin

Since the days of OpenMP 1.0 computer hardware has become more complex, typically by specializing compute units for coarse- and fine-grained parallelism in incrementally deeper hierarchies of parallelism. Newer versions of OpenMP reacted by…

编程语言 · 计算机科学 2023-09-06 Michael Kruse

Formal semantics provides rigorous, mathematically precise definitions of programming languages, with which we can argue about program behaviour and program equivalence by formal means; in particular, we can describe and verify our…

编程语言 · 计算机科学 2020-11-23 Péter Bereczky , Dániel Horpácsi , Simon Thompson

CSPe is a specification language for runtime monitors that can directly express concurrency in a bottom-up manner that composes the system from simpler, interacting components. It includes constructs to explicitly flag failures to the…

编程语言 · 计算机科学 2017-05-16 Jun Inoue , Yoriyuki Yamagata

Constraint Handling Rules is an effective concurrent declarative programming language and a versatile computational logic formalism. CHR programs consist of guarded reactive rules that transform multisets of constraints. One of the main…

分布式、并行与集群计算 · 计算机科学 2018-04-09 Thom Fruehwirth

Polymorphism in programming languages enables code reuse. Here, we show that polymorphism has broad applicability far beyond computations for technical computing: parallelism in distributed computing, presentation of visualizations of…

编程语言 · 计算机科学 2014-11-07 Jiahao Chen , Alan Edelman

Formal, mathematically rigorous programming language semantics are the essential prerequisite for the design of logics and calculi that permit automated reasoning about concurrent programs. We propose a novel modular semantics designed to…

Parallelization schemes are essential in order to exploit the full benefits of multi-core architectures. In said architectures, the most comprehensive parallelization API is OpenMP. However, the introduction of correct and optimal OpenMP…

分布式、并行与集群计算 · 计算机科学 2020-05-28 Idan Mosseri , Lee-or Alon , Re'em Harel , Gal Oren

We present a self-certifying compiler for the COGENT systems language. COGENT is a restricted, polymorphic, higher-order, and purely functional language with linear types and without the need for a trusted runtime or garbage collector. It…

We extend an off-the-shelf, executable formal semantics of C (Ellison and Rosu's K Framework semantics) with the core features of CUDA-C. The hybrid CPU/GPU computation model of CUDA-C presents challenges not just for programmers, but also…

编程语言 · 计算机科学 2012-11-28 Chris Hathhorn , Michela Becchi , William L. Harrison , Adam Procter

There is an ongoing effort to provide programming abstractions that ease the burden of exploiting multicore hardware. Many programming abstractions (e.g., concurrent objects, transactional memory, etc.) simplify matters, but still involve…

编程语言 · 计算机科学 2022-05-02 Adam Chen , Parisa Fathololumi , Eric Koskinen , Jared Pincus

In advancing parallel programming, particularly with OpenMP, the shift towards NLP-based methods marks a significant innovation beyond traditional S2S tools like Autopar and Cetus. These NLP approaches train on extensive datasets of…

分布式、并行与集群计算 · 计算机科学 2024-05-07 Weidong Wang , Haoran Zhu

In high-performance computing (HPC), the demand for efficient parallel programming models has grown dramatically since the end of Dennard Scaling and the subsequent move to multi-core CPUs. OpenMP stands out as a popular choice due to its…

分布式、并行与集群计算 · 计算机科学 2023-08-21 Tal Kadosh , Niranjan Hasabnis , Timothy Mattson , Yuval Pinter , Gal Oren

Directives for the compiler such as pragmas can help programmers to separate an algorithm's semantics from its optimization. This keeps the code understandable and easier to optimize for different platforms. Simple transformations such as…

编程语言 · 计算机科学 2018-11-05 Michael Kruse , Hal Finkel

This paper describes an `obfuscating' C compiler for encrypted computing. The context consists of (i) a processor that `works encrypted', taking in encrypted inputs and producing encrypted outputs while the data remains in encrypted form…

密码学与安全 · 计算机科学 2021-12-30 Peter Breuer

In this paper, we introduce Continuation Passing C (CPC), a programming language for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a…

编程语言 · 计算机科学 2012-11-15 Gabriel Kerneis , Juliusz Chroboczek

Despite the various research initiatives and proposed programming models, efficient solutions for parallel programming in HPC clusters still rely on a complex combination of different programming models (e.g., OpenMP and MPI), languages…

MDMP is a new parallel programming approach that aims to provide users with an easy way to add parallelism to programs, optimise the message passing costs of traditional scientific simulation algorithms, and enable existing MPI-based…

分布式、并行与集群计算 · 计算机科学 2013-04-30 Adrian Jackson , Par Strand