The Effect of Loop Unrolling in Energy Efficient Strassen's Algorithm on Shared Memory Architecture

Nwe Zin Oo, Panyayot Chaikan · 2021 36th International Technical Conference on Circuits/Systems, Computers and Communications (ITC-CSCC) · 2021

Energy efficiency for high-performance computing has become the main concern in many scientific applications on modern core architecture. Although the performance of most applications might be increased by optimizing the thread-level parallelism and multi-processors, efficient data-level parallelism becomes an important factor for large matrix-matrix multiplication. Most modern computers can calculate vectorization using single-instruction multiple-data execution (SIMD) by applying Advanced Vector Extensions (AVX) to enhance parallel data processing. In this paper, we focus on the effect of the loop unrolling methods for Strassen's algorithm. When the recursive levels are increased energy consumption becomes an issue related to longer execution time. For this reason, we contributed an efficient loop-unrolling method to save energy consumption by reducing the cache misses and increasing the data locality. Moreover, two different loop-unrolling methods in different recursive levels for the square matrix sizes range from 1024 to 16384 are compared. According to experimental results, the proposed loop unrolling methods reduce the number of cache misses and data transferring from the main memory which leads to saving energy/power consumption for Green computing. The proposed energy-efficient Strassen's algorithm gains not only the improved performance by nearly (98%) but also save energy consumption by nearly (95%) than without unrolling method, respectively.

Read the paper · More papers on PaperTik