Optimizing compilers for modern architectures: a dependence-based approach
Optimizing compilers for modern architectures: a dependence-based approach
The C++ Programming Language
Portable high-performance programs
Portable high-performance programs
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Paul Wilmott Introduces Quantitative Finance
Paul Wilmott Introduces Quantitative Finance
Managing Multicore with OpenMP (Extended Abstract)
Proceedings of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Languages and Compilers for Parallel Computing
Hi-index | 0.00 |
Programming SIMD arrays in languages such as C or FORTRAN is difficult and although work on automatic parallelizing programs has achieved much, it is far from satisfactory. In particular, almost all `fully' automatic parallelizing compilers place fundamental restrictions on the input language.Alternatively OpenMPprovides an approach to parallel programming that supports incremental improvements to applications that places restrictions in the context of preserving semantics of a parallelized section. OpenMPis limited to a thread based model that does not define a mapping for other parallel programming models.In this paper, we describe an alternative approach to programming SIMD machines using an extended subset of OpenMP(OpenMPSIMD), allowing us to model naturally the programming of arbitrary sized SIMD arrays while retaining the semantic completeness of both OpenMPand the parent languages.Using the CSX architecture we show how OpenMPSIMD can be implemented and discuss future extensions to both the language and SIMD architectures to better support explicit parallel programming.