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
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
- 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:
Erlang
- A functional, concurrent programming language that implements the Actor model of concurrency
- Office website for the Erlang programming language
- Tutorial: learn you some Erlang for great good!