Optimizing Streaming Parallelism on Heterogeneous Many-Core Architectures: A Machine Learning Based Approach
원문 초록
This article presents an automatic approach to quickly derive a good solution for hardware resource partition and task granularity for task-based parallel applications on heterogeneous many-core architectures. Our approach employs a performance model to estimate the resulting performance of the target application under a given resource partition and task granularity configuration. The model is used as a utility to quickly search for a good configuration at runtime. Instead of hand-crafting an analytical model that requires expert insights into low-level hardware details, we employ machine learning techniques to automatically learn it. We achieve this by first learning a predictive model offline using training programs. The learnt model can then be used to predict the performance of any unseen program at runtime. We apply our approach to 39 representative parallel applications and evaluate it on two representative heterogeneous many-core platforms: a CPU-XeonPhi platform and a CPU-GPU platform. Compared to the single-stream version, our approach achieves, on average, a 1.6x and 1.1x speedup on the XeonPhi and the GPU platform, respectively. These results translate to over 93% of the performance delivered by a theoretically perfect predictor.
함께 살펴볼 논문
공통 태그를 근거로 연결했습니다. 실제 인용 관계나 논문의 우수성을 뜻하지 않습니다.
MathOptAI.jl: Embed trained machine learning predictors into JuMP models
ConsumerBench: Benchmarking Generative AI Applications on End-User Devices
Versatile and Fast Location-Based Private Information Retrieval with Fully Homomorphic Encryption over the Torus
SecONNds: Secure Outsourced Neural Network Inference on ImageNet
Plug-and-Play Linear Attention for Pre-trained Image and Video Restoration Models
FlashDMoE: Fast Distributed MoE in a Single Kernel
토론
이 논문과 연결된 포럼 글이 아직 없습니다.