-
Notifications
You must be signed in to change notification settings - Fork 1
Training
UPC++ v1.0 Training Materials
Fri Nov 19, 2021: PAW-ATM'21 Workshop at SC21 - we are presenting two UPC++ papers:
- 9:20 - 9:40 Demonstrating UPC++/Kokkos Interoperability in a Heat Conduction Simulation
- 11:10 - 11:30 Optimization of Asynchronous Communication Operations through Eager Notifications
Nov 15, 2021: UPC++ Tutorial at SC21 - this Mon afternoon tutorial at SC21 is available on-demand!
-
Self-paced Programmer's Guide:
-
Formal Library Specification:
-
SC21 UPC++ Tutorial
-
Other Useful Documentation:
- Basic compile and command-line instructions (README)
- Using UPC++ on NERSC cori, OLCF summit, and ALCF theta
- Debugging UPC++ programs
- Frequently Asked Questions (FAQ)
- Mixing UPC++ with MPI
- Mixing UPC++ with UPC
- Using UPC++ with oversubscribed cores
- Software change history (ChangeLog)
- Implementation-defined behavior
-
Introductory Research Paper:
For citation info and other publications, please see Publications
Video Tutorials from the UPC++ YouTube Channel (please subscribe!)
We maintain a Linux Docker container with UPC++.
Assuming you have a Linux-compatible Docker environment, you can get a working UPC++ environment in seconds with the following command:
docker run -it --rm upcxx/linux-amd64The UPC++ commands inside the container are upcxx (compiler wrapper) and
upcxx-run (run wrapper), and the home directory contains some example codes.
Note this container is designed for test-driving UPC++ on a single node, and is
not intended for long-term development or use in production environments.
The container above supports the SMP and UDP backends, and does not include an MPI install. If you additionally need MPI support, there is also a larger "full" variant of the container that includes both UPC++ and MPI:
docker run -it --rm upcxx/linux-amd64-fullFor details on hybrid programming with MPI, see Mixing UPC++ with MPI.

