Parallel Programming in Split-C
Parallel Programming in Split-C
We introduce the Split-C language, a parallel extension of C intended
for high performance programming on distributed memory multiprocessors,
and demonstrate the use of the language in optimizing parallel programs.
Split-C provides a global address space with a clear concept of locality
and unusual assignment operators. These are used as tools to reduce the
frequency and cost of remote access. The language allows a mixture of
shared memory, message passing, and data parallel programming styles
while providing efficient access to the underlying machine. We
demonstrate the basic language concepts using regular and irregular
parallel programs and give performance results for various stages of
program optimization.