Though many application areas, such as image processing, graphics, multimedia, modelling, and scientific
computation, have enough parallelism to make good use of the multi-core technology, parallel machines are
still not resourcefully used due to the lack of programming paradigms that can implicitly exploit parallelism
suitable for multi-core architectures.
Our research project aimed at designing techniques for automatic parallelizing compilers. We are focusing, in
this research, only on parallelizing array-based code automatically. The techniques should steer compilers to
automatically locate, assess, and parallelize statically-sized array statements and support scalable parallelization.
We are also working on employing these techniques to port Vector Pascal on the Cell processor.
Our Vector Pascal compiler system for the Cell processor is built of a Vector Pascal compiler for PowerPC
architecture and a data parallel virtual machine that provides low-level access to the Cell hardware.We have
completed a working version of the Vector Pascal compiler for the PPE, yet it hasn’t been fully tested. We also
implemented a small model of a virtual machine and a set of utilities to test our compiler on the Cell.
The current Vector Pascal Cell compiler accepts a Vector Pascal source code, generates PowerPC machine
instructions and also maps virtual machine instructions in assembly instructions. The generated assembly
code then linked with the run time routine to produce a Cell executable program.
The compiler has been successfully tested by processing arrays of type floating-point on a single SPE, and the
preliminary figures show promises results toward performance improvement.
The work is still going on, and we are looking forward to having a Vector Pascal Parallelizing Compiler for the
Cell within the next 12 months.
Department of Computing Science 17 Lilybank Gardens, Glasgow G12 8RZ Tel: +(0)141 330 4256, Fax: +(0)141 330 4913