Abstract:In the era of diminishing returns from Moores Law, heterogeneous computing systems have emerged as a vital approach to enhance computational efficiency. This paper introduces a novel MLIR-based dialect, named hyper, designed to optimize data management and parallel computation across diverse hardware architectures. The hyper dialect abstracts the complexities of heterogeneous computing by providing a unified compilation framework that efficiently schedules tasks and manages data communication. To demonstrate its capabilities, we present HETOCompiler, a cryptography-focused compiler prototype that implements multiple hash algorithms and enables their execution on heterogeneous systems. The proposed approach achieves performance improvements over existing programming models for heterogeneous computing (OpenCL), offering an average speedup of 1.93x, 1.18x, and 1.12x for SHA-1, MD5, and SM3 algorithms, respectively. Our findings highlight the potential of the hyper dialect in harnessing the full computational power of heterogeneous devices, advancing the field of compiler design for heterogeneous systems.
What problem does this paper attempt to address?
The problem that this paper attempts to solve is how to improve computational efficiency through heterogeneous computing systems in the era of diminishing returns of Moore's Law. Specifically, the paper proposes a new dialect based on MLIR, called hyper, which aims to optimize data management and parallel computing across different hardware architectures. The paper demonstrates the effectiveness of this approach through a cryptographic case study, especially by implementing multiple hash algorithms and executing them on a heterogeneous system, proving the advantages of the hyper dialect in task scheduling and data communication management.
### Main Problems of the Paper
1. **Diminishing Returns of Moore's Law**: As the transistor size approaches the physical limit, the benefits of Moore's Law gradually weaken, and the performance improvement of traditional general - purpose processors faces a bottleneck.
2. **Complexity of Heterogeneous Computing Systems**: Heterogeneous computing systems contain multiple processors, accelerators, and other computing devices. How to effectively utilize these diverse computing resources has become a major challenge.
3. **Limitations of Existing Programming Models**: Existing heterogeneous programming models (such as OpenCL) have deficiencies in task scheduling and data management and cannot fully utilize the computing power of heterogeneous devices.
### Solutions
1. **Designing the hyper Dialect**: The paper proposes a new MLIR dialect - hyper, which is used to abstract the data management and parallel computing functions in heterogeneous computing. The hyper dialect provides a unified compilation framework that can efficiently schedule tasks and manage data communication.
2. **Developing the HETOCompiler Prototype Compiler**: Based on MLIR, the paper develops a prototype cryptographic compiler named HETOCompiler, which implements multiple commonly - used hash algorithms and can execute these algorithms in parallel on a heterogeneous system.
3. **Performance Evaluation**: The experimental results show that compared with existing heterogeneous programming models (such as OpenCL), HETOCompiler achieves performance improvements of 1.93 times, 1.18 times, and 1.12 times on the SHA - 1, MD5, and SM3 algorithms respectively.
### Main Contributions
1. **Designing a General - purpose Heterogeneous Scheduling Dialect**: The hyper dialect abstracts the data communication between the host processor and heterogeneous devices as well as task partitioning and scheduling, filling the gap in upstream MLIR in this regard.
2. **Constructing an End - to - End Cryptographic Compiler**: HETOCompiler realizes the complete compilation process from high - level hash algorithms to executable files for specific devices, improving the efficiency of hash encryption algorithms on heterogeneous computing systems.
3. **Experimentally Proving Performance Improvements**: The experimental results demonstrate the performance advantages of HETOCompiler on multiple heterogeneous systems, especially in large - scale parallel hash computing scenarios.
### Conclusion
By designing the hyper dialect and developing the HETOCompiler prototype compiler, the paper successfully solves the complexity problems of task scheduling and data management in heterogeneous computing systems and significantly improves the execution efficiency of encryption algorithms. This research not only provides new ideas for compiler design but also opens up new possibilities for the application of heterogeneous computing systems.