Title :
Designing a unified programming model for heterogeneous machines
Author :
Garland, Michael ; Kudlur, M. ; Yili Zheng
Abstract :
While high-efficiency machines are increasingly embracing heterogeneous architectures and massive multithreading, contemporary mainstream programming languages reflect a mental model in which processing elements are homogeneous, concurrency is limited, and memory is a flat undifferentiated pool of storage. Moreover, the current state of the art in programming heterogeneous machines tends towards using separate programming models, such as OpenMP and CUDA, for different portions of the machine. Both of these factors make programming emerging heterogeneous machines unnecessarily difficult. We describe the design of the Phalanx programming model, which seeks to provide a unified programming model for heterogeneous machines. It provides constructs for bulk parallelism, synchronization, and data placement which operate across the entire machine. Our prototype implementation is able to launch and coordinate work on both CPU and GPU processors within a single node, and by leveraging the GASNet runtime, is able to run across all the nodes of a distributed-memory machine.
Keywords :
distributed memory systems; multi-threading; programming languages; CPU processors; CUDA; GASNet runtime; GPU processors; OpenMP; Phalanx programming model; contemporary mainstream programming languages; data placement; distributed memory machine; heterogeneous architectures; heterogeneous machines; high efficiency machines; massive multithreading; mental model; undifferentiated pool; unified programming model; Graphics processing units; Instruction sets; Message systems; Parallel processing; Programming; Runtime;
Conference_Titel :
High Performance Computing, Networking, Storage and Analysis (SC), 2012 International Conference for
Conference_Location :
Salt Lake City, UT
Print_ISBN :
978-1-4673-0805-2