Language Resources
Unified Parallel C (UPC)
Berkeley UPC:
http://upc.lbl.gov/
GWU UPC
http://upc.gwu.edu/
Tarek El-Ghazawi, William Carlson, Thomas Sterling, and Katherine Yelick.
UPC: Distributed Shared Memory Programming
. John Wiley & Sons, Inc. © 2005.
Ch. 1:
PDF
Communicating Sequential Processes (CSP)
The classic CSP text:
Communicating Sequential Processes (Hoare)
The modern CSP text: The Theory and Practice of Concurrency (Roscoe) (
PDF
)
occam
Professor Peter Welch's
occam tutorial slides
and
FAQs
from his course at the University of Kent
occam-pi
: (The occam-pi programming language and
reference
)
JCSP:
http://www.cs.kent.ac.uk/projects/ofa/jcsp/
(CSP package for Java)
Ian East.
Parallel Processing with Communicating Process Architecture
. University College London Press, © 1995. (This text is out of print, but the author has provided the text in PDF chapters for use in our course.)
Go
The Go Programming Language
Concurrency
Linda
Nicholas Carriero and David Gelernter.
How to Write Parallel Programs: A First Course
. MIT Press, © 1990.
This text is out of print, but here's the
PDF
(also available at
http://zoo.cs.yale.edu/classes/cs424/howto.pdf
)
Rinda
Linda implementation for the
Ruby programming language
About
Rinda
CUDA
Definitions:
CUDA – Compute Unified Device Architecture
GPU – Graphics Processing Unit
GPU cluster – An HPC cluster equipped with multiple GPU devices (rather than CPUs)
GPGPU – General Purpose GPU (i.e., not just for optimized graphics processing)
CUDA is
a parallel computing platform and
API
model created by
Nvidia
. –
Wikipedia
more than a library for a programming language(s)
an extension of C/C++ to allow programmers to use nVidia GPU cards for GPGPU programming
Tutorials:
https://devblogs.nvidia.com/even-easier-introduction-cuda/
Erlang
Office website for the
Erlang
programming language
Tutorial guides
Online documentation
Chapel
The Chapel Parallel Programming Language
Scala
The Scala Programming Language
Clojure
The Clojure Programming Language
Other references will be listed here as necessary.