MIND execution by SIMD computers
Journal of Information Processing
IEEE Transactions on Parallel and Distributed Systems
A Control-Parallel Programming Model Implemented on SIMD
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
A SIMD interpreter for genetic programming on GPU graphics cards
EuroGP'08 Proceedings of the 11th European conference on Genetic programming
Rhythm: harnessing data parallel hardware for server workloads
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Hi-index | 0.00 |
Programming heterogeneous parallel computer systems is notoriously difficult, but MIMD models have proven to be portable across multi-core processors, clusters, and massively parallel systems. It would be highly desirable for GPUs (Graphics Processing Units) also to be able to leverage algorithms and programming tools designed for MIMD targets. Unfortunately, most GPU hardware implements a very restrictive multi-threaded SIMD-based execution model. This paper presents a compiler, assembler, and interpreter system that allows a GPU to implement a richly featured MIMD execution model that supports shared-memory communication, recursion, etc. Through a variety of careful design choices and optimizations, reasonable efficiency is obtained on NVIDIA CUDA GPUs. The discussion covers both the methods used and the motivation in terms of the relevant aspects of GPU architecture.