A Multithreaded Compiler Backend for High-Level Array Programming

C. Grelck (Germany)


Compilers, Array Programming, High-level Parallel Programming, High Performance Computing


Whenever large homogeneous data structures need to be processed in a non-trivial way, e.g. in computational sci ences, image processing, or system simulation, high-level array programming in the style of APL offers a far more concise and abstract approach than traditional scalar lan guages such as C/C++ or FORTRAN-77. The same sort of applications often can also be characterized as performance critical and today represents the major domain for parallel processing. This paper reports on the development of a compiler backend which allows to implicitly generate multithreaded code from high-level array program specifications. On shared memory multiprocessor systems, this code can be executed in parallel without any additional programming effort. After sketching out basic compilation schemes, opti mizations on the runtime system are addressed and, finally, experimental runtime figures are presented.

Important Links:

Go Back