English
Related papers

Related papers: MISO: An intermediate language to express parallel…

200 papers

Developers face a wide choice of programming languages and libraries supporting multicore computing. Ever more diverse paradigms for expressing parallelism and synchronization become available while their influence on usability and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-10-24 Sebastian Nanz , Scott West , Kaue Soares da Silveira , Bertrand Meyer

Usage of multiprocessor and multicore computers implies parallel programming. Tools for preparing parallel programs include parallel languages and libraries as well as parallelizing compilers and convertors that can perform automatic…

Mathematical Software · Computer Science 2022-12-12 Pavel Telegin , Anton Baranov , Boris Shabanov , Artem Tikhomirov

The complexity of heterogeneous computing architectures, as well as the demand for productive and portable parallel application development, have driven the evolution of parallel programming models to become more comprehensive and complex…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-10-31 Anjia Wang , Xinyao Yi , Yonghong Yan

MPI+Threads, embodied by the MPI/OpenMP hybrid programming model, is a parallel programming paradigm where threads are used for on-node shared-memory parallelization and MPI is used for multi-node distributed-memory parallelization. OpenMP…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-31 Hui Zhou , Ken Raffenetti , Junchao Zhang , Yanfei Guo , Rajeev Thakur

A novel language system has given rise to promising alternatives to standard formal and processor network models of computation. An interstring linked with a abstract machine environment, shares sub-expressions, transfers data, and…

Programming Languages · Computer Science 2010-05-31 Alexander Victor Berka

A novel approach is presented to teach the parallel and distributed computing concepts of synchronization and remote memory access. The single program multiple data (SPMD) partitioned global address space (PGAS) model presented in this…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-03-31 David Richie , James Ross

In typical embedded applications, the precise execution time of the program does not matter, and it is sufficient to meet a real-time deadline. However, modern applications in information security have become much more time-sensitive, due…

Cryptography and Security · Computer Science 2020-05-07 Pantea Kiaei , Patrick Schaumont

GPU technology has been improving at an expedited pace in terms of size and performance, empowering HPC and AI/ML researchers to advance the scientific discovery process. However, this also leads to inefficient resource usage, as most GPU…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-10-10 Baolin Li , Tirthak Patel , Siddarth Samsi , Vijay Gadepally , Devesh Tiwari

Program optimization is the process of modifying software to execute more efficiently. Superoptimizers attempt to find the optimal program by employing significantly more expensive search and constraint solving techniques. Generally, these…

Machine Learning · Computer Science 2022-04-06 Alex Shypula , Pengcheng Yin , Jeremy Lacomis , Claire Le Goues , Edward Schwartz , Graham Neubig

We present a concurrent framework for Win32 programming based on Concurrent ML, a concurrent language with higher-order functions, static typing, lightweight threads and synchronous communication channels. The key points of the framework…

Programming Languages · Computer Science 2007-05-23 Riccardo Pucella

Compilers for accelerator design languages (ADLs) translate high-level languages into application-specific hardware. ADL compilers rely on a hardware control interface to compose hardware units. There are two choices: static control, which…

Programming Languages · Computer Science 2023-12-29 Caleb Kim , Pai Li , Anshuman Mohan , Andrew Butt , Adrian Sampson , Rachit Nigam

User-schedulable languages (USLs) help programmers productively optimize programs by providing safe means of transforming them. Current USLs are designed to give programmers exactly the control they want, while automating all other…

Programming Languages · Computer Science 2025-01-31 Yuka Ikarashi , Kevin Qian , Samir Droubi , Alex Reinking , Gilbert Bernstein , Jonathan Ragan-Kelley

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford

Asynchronous programming has appeared as a programming style that overcomes undesired properties of concurrent programming. Typically in asynchronous models of programming, methods are posted into a post list for latter execution. The order…

Programming Languages · Computer Science 2015-01-06 Mohamed A. El-Zawawy

X10 is a modern language built from the ground up to handle future parallel systems, from multicore machines to cluster configurations. We take a closer look at a pair of synchronisation mechanisms: finish and clocks. The former waits for…

Programming Languages · Computer Science 2011-10-20 Francisco Martins , Vasco T. Vasconcelos , Tiago Cogumbreiro

Comprehending the performance bottlenecks at the core of the intricate hardware-software interactions exhibited by highly parallel programs on HPC clusters is crucial. This paper sheds light on the issue of automatically asynchronous MPI…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-06 Ayesha Afzal , Georg Hager , Stefano Markidis , Gerhard Wellein

When programmers want to prove strong program invariants, they are usually faced with a choice between using theorem provers and using traditional programming languages. The former requires them to provide program proofs, which, for many…

Programming Languages · Computer Science 2013-11-28 Jonathan Protzenko

The main goal of parallel processing is to provide users with performance that is much better than that of single processor systems. The execution of jobs is scheduled, which requires certain resources in order to meet certain criteria.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-02-07 Yang Cao , Fei Wu , Thomas Robertazzi

While modern parallel computing systems provide high performance resources, utilizing them to the highest extent requires advanced programming expertise. Programming for parallel computing systems is much more difficult than programming for…

Programming Languages · Computer Science 2017-04-06 Adrian Calvo Chozas , Suejb Memeti , Sabri Pllana

We introduce an object-oriented framework for parallel programming, which is based on the observation that programming objects can be naturally interpreted as processes. A parallel program consists of a collection of persistent processes…

Programming Languages · Computer Science 2014-04-21 Edward Givelberg