x
Loading
 Loading
Hello, Guest | Login | Register

Global Arrays Toolkit, Part Two

Tackle a more complex and realistic Global Arrays Toolkit program, one that performs matrix-matrix multiplication.

This is the second column in the series about the Global Arrays (GA) Toolkit. The GA Toolkit, introduced in last month’s column, is an application programming interface (API) for handling shared data structures in a distributed computing environment like a Linux cluster. GA essentially provides one-sided communications for array data without requiring you to write explicit message passing code.
Like Unified Parallel C (UPC), described here in earlier columns, GA provides data distribution information to the application so that data locality can be exploited for maximize performance. While UPC offers a more familiar programming style (being implicitly parallel), the GA Toolkit works in conjunction with traditional message passing API — like the Message Passing Interface — to provide both shared-memory and message-passing paradigms in the same program.
The GA Toolkit, developed at the U.S. Department of Energy’s Pacific Northwest National Laboratory (PNNL), uses the Aggregate Remote Memory Copy (ARMCI) library, which provides general-purpose, efficient, and portable remote memory access (RMA) operations through one-sided communications. ARMCI utilizes network interfaces on clusters and supercomputers, including low-latency, high-bandwidth interfaces. GA also works in conjunction with Memory Allocator (MA), a collection of library routines that perform dynamic memory allocation for C, Fortran, and mixed-language applications. GA uses MA to provide all of its dynamically allocated, local memory.
GA must be used in combination with some message passing library, and last month’s column included instructions for downloading and installing the toolkit on a Linux cluster on top…

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