Language Resources
Unified Parallel C (UPC)
Berkeley UPC:
http://upc.lbl.gov/
Communicating Sequential Processes (CSP)
Hoare's original
1978 CACM paper
The classic CSP text:
Communicating Sequential Processes (Hoare)
The modern CSP text:
The Theory and Practice of Concurrency (Roscoe)
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)
JCSP:
http://www.cs.kent.ac.uk/projects/ofa/jcsp/
(CSP package for Java)
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 the PDF is available
here
Rinda
Linda implementation for the
Ruby programming language
About
Rinda
sadly, the only Wikipedia article I ever contributed to was deleted last year
but
here
it is–
as it was
–thanks to the Wayback Machine
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
A functional, concurrent programming language that implements the Actor model of concurrency
Office website for the
Erlang
programming language
Online documentation
Tutorial:
learn you some Erlang for great good!
Chapel
The Chapel Parallel Programming Language
Scala
The Scala Programming Language
Clojure
The Clojure Programming Language
Other references will be listed here as necessary.