Optimizing OpenMP by Array Privatization on the Multi-Core Platform of IBM Cell
-
Graphical Abstract
-
Abstract
Array privatization is one of the keys to exploit parallelism, and SPMD is an important method for OpenMP array privatization. IBM Cell processor is a heterogeneous multi-core processor with a 64b multithreaded power PowerPC processor element (PPE) and eight synergistic processor elements (SPE) connected by an internal, high-bandwidths element interconnect bus (EIB). However, IBM XLC can’t compile SPMD style OpenMP successfully which is a compiler of IBM multi-core platform. In order to solve this problem, aiming at making good use of static buffer in local store to reduce DMA operations, a technique is presented for array privatization with regard to the implementation on the multi-core platform of IBM Cell. By developing some methods for optimization of OpenMP applications, a good use is made of static buffer in local store to reduce DMA operations that focuses on the privatization of being reused data, the balance of computation and communication. The technique includes array privatization analysis, array privatization translation, and involving eliminating barriers and non-blocking DMA operations which directs reused data to wider range. The translation of Jacobi code shows that it improves average three percent of the performance. Furthermore, it is more efficient to be applied to array privatization of small scale OpenMP computation on the multi-core platform of IBM Cell.
-
-