English
Related papers

Related papers: Using RngStreams for Parallel Random Number Genera…

200 papers

Heterogeneous clusters with nodes containing one or more accelerators, such as GPUs, have become common. While MPI provides inter-address space communication, and OpenCL provides a process with access to heterogeneous computational…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-09-19 Hyun Dok Cho , Okwan Kwon , Samuel P. Midkiff

We discuss the use of both MPI and OpenMP in the teaching of senior undergraduate and junior graduate classes in parallel programming. We briefly introduce the OpenMP standard and discuss why we have chosen to use it in parallel programming…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Yi Pan

Discovering causal relationships from data is the ultimate goal of many research areas. Constraint based causal exploration algorithms, such as PC, FCI, RFCI, PC-simple, IDA and Joint-IDA have achieved significant progress and have many…

Artificial Intelligence · Computer Science 2015-10-13 Thuc Duy Le , Tao Hoang , Jiuyong Li , Lin Liu , Shu Hu

Quantum systems are particularly suited for generating true randomness due to their inherent unpredictability, which can be justified on physical principles. However, practical implementations of Quantum RNGs (QRNGs) are always subject to…

Quantum Physics · Physics 2024-03-29 Xiaomin Guo , Fading Lin , Jiehong Lin , Zhijie Song , Yue luo , Qiqi Wang , Yanqiang Guo

The aim of parallel computing is to increase an application performance by executing the application on multiple processors. OpenMP is an API that supports multi platform shared memory programming model and shared-memory programs are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-12 Vibha Rajput , Alok Katiyar

Cheap micro-controllers, such as the Arduino or other controllers based on the Atmel AVR CPUs are being deployed in a wide variety of projects, ranging from sensors networks to robotic submarines. In this paper, we investigate the…

Cryptography and Security · Computer Science 2012-12-18 Benedikt Kristinsson

A hybrid scheme that utilizes MPI for distributed memory parallelism and OpenMP for shared memory parallelism is presented. The work is motivated by the desire to achieve exceptionally high Reynolds numbers in pseudospectral computations of…

Computational Physics · Physics 2010-03-24 Pablo D. Mininni , Duane L. Rosenberg , Raghu Reddy , Annick Pouquet

This paper proposes a type of pseudorandom number generator, Mersenne Twister for Graphic Processor (MTGP), for efficient generation on graphic processessing units (GPUs). MTGP supports large state sizes such as 11213 bits, and uses the…

Mathematical Software · Computer Science 2013-03-14 Mutsuo Saito , Makoto Matsumoto

Since the advent of parallel algorithms in the C++17 Standard Template Library (STL), the STL has become a viable framework for creating performance-portable applications. Given multiple existing implementations of the parallel algorithms,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-12 Ruben Laso , Diego Krupitza , Sascha Hunold

Quantum Random Number Generators (QRNGs) emerged as a promising solution for generating truly random numbers. In the present article, we give an overview of QRNGs highlighting the merits and demerits of various strategies briefly. Then…

We introduce qclab++, a light-weight, fully-templated C++ package for GPU-accelerated quantum circuit simulations. The code offers a high degree of portability as it has no external dependencies and the GPU kernels are generated through…

Quantum Physics · Physics 2023-03-06 Roel Van Beeumen , Daan Camps , Neil Mehta

Pipeline is a fundamental parallel programming pattern. Mainstream pipeline programming frameworks count on data abstractions to perform pipeline scheduling. This design is convenient for data-centric pipeline applications but inefficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-02-03 Cheng-Hsiang Chiu , Tsung-Wei Huang , Zizheng Guo , Yibo Lin

Many emerging cyber-physical systems, such as autonomous vehicles and robots, rely heavily on artificial intelligence and machine learning algorithms to perform important system operations. Since these highly parallel applications are…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-07 An Zou , Jing Li , Christopher D. Gill , Xuan Zhang

Real-time data processing applications with low latency requirements have led to the increasing popularity of stream processing systems. While such systems offer convenient APIs that can be used to achieve data parallelism automatically,…

Programming Languages · Computer Science 2022-01-04 Konstantinos Kallas , Filip Niksic , Caleb Stanford , Rajeev Alur

In this short article I introduce the spray package, which provides some functionality for handling sparse arrays. The package uses the C++ Standard Template Library's map class to store and retrieve elements. One natural application for…

Symbolic Computation · Computer Science 2022-10-21 Robin K. S. Hankin

Probabilistic programming languages (PPLs) allow users to encode arbitrary inference problems, and PPL implementations provide general-purpose automatic inference for these problems. However, constructing inference implementations that are…

Programming Languages · Computer Science 2023-05-04 Daniel Lundén , Joey Öhman , Jan Kudlicka , Viktor Senderov , Fredrik Ronquist , David Broman

The Mersenne Twister (MT) is a pseudo-random number generator (PRNG) widely used in High Performance Computing for parallel stochastic simulations. We aim to assess the quality of common parallelization techniques used to generate large…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-31 Benjamin Antunes , Claude Mazel , David R. C Hill

This article introduces an algorithm, MergeShuffle, which is an extremely efficient algorithm to generate random permutations (or to randomly permute an existing array). It is easy to implement, runs in $n\log_2 n + O(1)$ time, is in-place,…

Data Structures and Algorithms · Computer Science 2015-08-14 Axel Bacher , Olivier Bodini , Alexandros Hollender , Jérémie Lumbroso

Unit testing is crucial in software engineering for ensuring quality. However, it's not widely used in parallel and high-performance computing software, particularly scientific applications, due to their smaller, diverse user base and…

Software Engineering · Computer Science 2024-07-09 Rabimba Karanjai , Aftab Hussain , Md Rafiqul Islam Rabin , Lei Xu , Weidong Shi , Mohammad Amin Alipour

Many semantic video analysis tasks can benefit from multiple, heterogenous signals. For example, in addition to the original RGB input sequences, sequences of optical flow are usually used to boost the performance of human action…

Computer Vision and Pattern Recognition · Computer Science 2019-03-27 Lin Sun , Kui Jia , Yuejia Shen , Silvio Savarese , Dit Yan Yeung , Bertram E. Shi