高级检索

    基于IBM Cell多核平台的OpenMP数组私有化技术研究

    Optimizing OpenMP by Array Privatization on the Multi-Core Platform of IBM Cell

    • 摘要: 数组私有化是并行化编译中的重要技术之一,IBM Cell是异构多核处理器,SPMD代表实现OpenMP数组私有化的重要手段,但是SPMD形式的OpenMP程序却不能直接通过IBM XLC(适用于IBM Cell多核平台的编译器)的编译.为了解决该问题,并充分利用IBM Cell本地存储器中的静态缓冲区以减少DMA通信,提出一种IBM Cell多核平台的OpenMP数组私有化技术.旨在充分利用本地存储器、减少DMA通信,集中处理可重用数据的私有化.主要包括:数组私有化分析、数组私有化转换、同步消除与非阻塞DMA操作,从而扩大数据的可重用作用域.转换后的Jacobi迭代代码进行实际测试表明,这种基于IBM Cell多核平台的数组私有化技术能够平均提高3%左右的执行性能,尤其对于小规模计算来说性能提高还会更多.

       

      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.

       

    /

    返回文章
    返回