UPC++ Programmer’s Guide, v1.0-2018.3.0

Autor: Steve Hofmeyr, B. van Straalen, John Bachan, Scott B. Baden, Paul Hargrove, Khaled Z. Ibrahim, Dan Bonachea, Amir Kamil, Mathias Jacquelin
Rok vydání: 2018
Předmět:
Popis: Author(s): Bachan, J; Baden, S; Bonachea, Dan; Hargrove, Paul H; Hofmeyr, S; Ibrahim, Khaled; Jacquelin, M; Kamil, A; van Straalen, B | Abstract: This document has been superseded by: UPC++ Programmer’s Guide, v1.0-2018.9.0 (LBNL-2001180) https://escholarship.org/uc/item/02r988n6 UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate thread of execution (referred to as a rank, a term borrowed from MPI) having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the ranks. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores.
Databáze: OpenAIRE