-
UPC Language Specification (V 1.2)
- Date:June 2005
- Authors:The UPC Consortium
- Abstract:
The current release of the UPC Language Specification is version 1.2, finalized in June of 2005.
- Download This document PDF
-
UPC Manual
- Date:May 2005
- Authors:Sébastien Chauvin, Proshanta Saha, François Cantonnet, Smita Annareddy, Tarek El-Ghazawi
- Abstract:
This manual is intended for all levels of users, from novices who wish to find out features of
UPC that may fit their needs, all the way to experts who need a handy reference for the UPC
language. It is important to note that this is not a replacement for the UPC Specifications
document, upon which the UPC language is built. This manual will introduce the basic
concepts most commonly asked about by UPC users. For more intricate details of the language, it is
best to refer to the UPC Specifications document. This manual is written under the assumption that
the reader understands and is familiar with the C language, and has at least some basic knowledge of
parallel programming models such as Message Passing or Shared Memory.
- Download This document PDF
HP UPC Programmers Guide
- Date:April 2005
- Abstract:
This manual contains information about developing HP UPC programs on HP UX, Tru64 UNIX, and XC Linux systems. It describes language features specific to the HP UPC product.
- View the HP UPC Programmer Guide at [link]
-
UPC Collective Operations Specifications v1.0
- Date: Dec.2003
- Authors: Elizabeth Wiebel, David Greenberg, Steve Seidel
- Abstract:
The earliest version of this specification was authored by Elizabeth Wiebel and David
Greenberg and appeared as CCS-TR-02-159 in March, 2002[2]. UPC collectives have
been discussed at workshops at SC2001, SC2002, SC2003, and at workshops held at
George Washington University in March, 2002, and May, 2003. This document describes UPC functions that supplement UPC and adhere to UPC Specifications 1.1.
- Download This document PDF
-
UPC-IO: A Parallel I/O API for UPC v1.0.2
- Date: Sept 2006
- Authors: Tarek El-Ghazawi, François Cantonnet, Proshanta Saha, Rajeev Thakur, Rob Ross and Dan Bonachea
- Abstract:
In this document, we propose an application-programming interface (API) for parallel I/O in UPC, which we refer to as
UPC-IO. The UPC-IO API is designed in a manner consistent with the spirit of the UPC language to provide application developers with a consistent and logical programming
environment. This proposal leverages the wealth of work that has already been performed by the parallel I/O community, particularly the parallel I/O API in MPI-2, commonly
known as MPI-IO.
- Download This document PDF
A Proposal for a UPC Memory Consistency Model (v1.0)
- Date: May 2004
- Authors: Kathy Yelick, Dan Bonachea, Chuck Wallace
- Abstract:
The memory consistency model in a language defines the order in which the results of write operations may
be observed through read operations. The behavior of a UPC program may depend on the timing of accesses
to shared variables, so a program defines a set of possible executions, rather than a single execution. The
memory consistency model constrains the set of possible executions for a given program; the user may then
rely on properties that are true of all of those executions.
The memory consistency model is defined in terms of the read and write operations issued by each thread
in na¨ive translation of the code, i.e., without any code transformations by the compiler – with each thread
issuing operations as defined by the abstract machine defined in ISO C 5.1.2.3. A UPC compiler or runtime
system may perform various code transformations to improve performance, so long as they are not visible
to the programmer - i.e. provided the set of externally-visible behaviors (the input/output dynamics and
volatile behavior defined in ISO C 5.1.2.3) from any execution of the transformed program are identical
to those of the original program executing on the abstract machine and adhering to the consistency model
defined in this document.
- Download This document PDF
-
UPC Specification (V 1.1.1)
- Date: Sept 2004
- Authors: Tarek A. El-Ghazawi, William W. Carlson, Jesse M. Draper
- Abstract:
- Download This document PDF
-
UPC Specification (V 1.0)
- Date: Feb.2001
- Authors: Tarek A. El-Ghazawi, William W. Carlson, Jesse M. Draper
- Abstract:
This document focuses only on the UPC specifications that extend ANSI C to an explicit
parallel C based on the distributed shared memory model. All ANSI C specifications as
per ISO/SEC 9899 are considered a part of these UPC specifications, and therefore will
not be addressed in this document.
- Download This document PDF
-
Illustrative Test Cases for the UPC Memory Model
- Date:March 2003
- Authors:William Kuchera and Charles Wallace
- Abstract:
As part of our investigation of UPC's memory consistency model, we
present a set of test cases. The compliance tests portray behavior
that falls outside the UPC specification. Every implementation of UPC
must prevent such behavior. The "dark corner" tests are examples of
legal behavior that may prove surprising to those unfamiliar with the
details of the memory model. Each test case is annotated with a
careful explanation.
- Download This document PDF
-
Toward a programmer-friendly formal specification of the UPC memory model
- Date: Feb 2003
- Authors:William Kuchera and Charles Wallace
- Abstract:
The memory consistency model underlying UPC is one of the most
interesting and important aspects of the language. It is crucial that
UPC developers have a clear and univocal vision of what the memory
model does and does not allow. After a careful examination of the
official UPC specification, we have identified some gaps in the memory
model definition that could lead to unintended interpretations. We
propose an alternative definition, using an operational semantics
approach, that remedies the problems we have found and also captures
the intent of the language designers. Furthermore, we feel that our
alternative semantics depicts the memory model in an intuitive way
that UPC developers can grasp readily.
- Download This document PDF
-
Getting Started with UPC
- Date: June 2001
- Authors: Tarek A. El-Ghazawi, Sabastien Chauvin
- Abstract:
This document gives a quick introduction to UPC through a number of
variations of a simple educational example, matrix-vector multiplication, that can expose
the readers to key UPC features quickly. These examples are not meant to perform well
neither in terms of sequential nor parallel performance. The interested reader may want to
consult the UPC web site and the list of references given at the end of this guide.
- Download This document PDF
-
UPC Quick Reference Card
- What is UPC Quick Reference Card?
The UPC Quick Reference Card is a two pages document that summarizes all the UPC language features. It describes the UPC keywords
, the declaration of shared memory variables, the use of UPC locks, memory consistency in UPC, work sharing, dynamic memory allocation using the UPC functions, etc.
- Download This document PDF
This page was last modified: