MuPC is a portable, open source implementation of UPC. It enables UPC programs to run on a variety of platforms. The mupcc compilation script first invokes a UPC-to-C translator to translate your UPC source program to C. References to shared data and other UPC constructs from the original program are translated into calls to functions in the MuPC run time library. The C program is then compiled and linked with the MuPC library. MuPC library functions are implemented using Pthreads and MPI. MuPC is designed to run on any platform that supports those packages. Your system must provide Pthreads and MPI.




MuPC: A Run Time System for Unified Parallel C

Technical Report CS-TR-02-03, Department of Computer Science, Michigan Technological University

Authors: J. Savant and S. Seidel (September 2002)
Abstract: Unified Parallel C is an exensions to the C programming language intended for parallel programming. UPC adds a small number of parallel programming constructs to C. These constructs enable users to write parallel programs basedd on a distributed shared memory model. MuPC (MTU's UPC), is a run time system for UPC, enablinf it to run on a wide variet of architectures including networks of workstations, Beowuld clusters and shared memory machines. The work done as part of this thesis was to implement HP's run time system interface for UPC. This included implementing the gets and puts, synchronizaion routines, dnamic memory allocation routines and locks. Other parts of this work included porting MuPC to Sun Enterprise and Beowulf cluster.
(PDF | PS)

MuPC Run Time System for UPC

Authors: J. Savant, B. Wibecan and S. Seidel (November 2002)
Poster at Supercomputing '02
( PPT | HTML )


The MuPC Mailinglist


Copyright © 2001-2004 Michigan Technological University

Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others.


Neither Michigan Technological University, nor any of its employees, makes any warranty express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights.

Version history

MuPC V1.1.2 Beta, released in September, 2005, complies with UPC V1.1.1 and incorporates version 3.4 of the EDG front end. Performance improvements include faster access to shared objects to which a thread has affinity, many improvements to the run time system, and easier installation through the use of GNU Autotools. All known bugs and most application limitations of previous versions have been eliminated. Downloads are available for Linux clusters and Tru 64 platforms. Contact us if you are interested in porting MuPC to other platforms.

Last modified 2/3/06