x
Loading
 Loading
Hello, Guest | Login | Register

Unified Parallel C 101

Designed for high-performance computing on large-scale parallel machines, including Beowulf-style clusters, Unified Parallel C provides a uniform programming model for both shared and distributed memory hardware.

In addition to focusing on building, operating, and maintaining Linux clusters, this column has frequently explored the fundamentals of parallel programming. Message passing schemes running across distributed memory cluster nodes using both the Message Passing Interface (MPI) and Parallel Virtual Machine (PVM) have been presented. In addition, shared memory schemes within a multiprocessor node (using OpenMP) and hybrid combinations of MPI and OpenMP have been discussed. (To catch up on these previous columns, see the Parallel Programming “trail” at http://www.linux-mag.com/trails/parallel/.)
While most parallel codes must effectively utilize many distributed memory nodes, writing message passing code can be tedious or downright difficult. On the other hand, shared memory paradigms like OpenMP often seem more natural and are easier to code and maintain. What’s needed is a parallel programming scheme that looks like a shared memory programming paradigm, but works across distributed memory hardware.
Enter Unified Parallel C (UPC).

Extending C

Unified Parallel C is an extension of the International Standards Organization (ISO) C 99 programming language. UPC unifies three previous modifications to the C language for supporting parallel programming: AC, Split C, and the Parallel C Preprocessor. Designed for high-performance computing on large-scale parallel machines, including Beowulf-style clusters, UPC provides a uniform programming model for both shared and distributed memory hardware. It uses a single program multiple data (SPMD) model of computation, just like traditional message passing, in which the amount of parallelism is fixed at program startup time,…

Please log in to view this content.

Not Yet a Member?

Register with LinuxMagazine.com and get free access to the entire archive, including:

  • Hands-on Content
  • White Papers
  • Community Features
  • And more.
Already a Member?
Log in!
Username

Password

Remember me

Forgotten your password?
Forgotten your username?
Read More
  1. Helpful Tools for Software Developers
  2. The Github Hall of Fame
  3. Book'em, Github.
  4. This Week on Github: Stupid Ruby Tricks
  5. A Veritable Scatter Shot!
Follow Linux Magazine
Rackspace