Using Machine Learning to Improve Automatic Vectorization

被引:39
|
作者
Stock, Kevin [1 ]
Pouchet, Louis-Noel [1 ]
Sadayappan, P. [1 ]
机构
[1] Ohio State Univ, Columbus, OH 43210 USA
基金
美国国家科学基金会;
关键词
Performance; COUPLED-CLUSTER;
D O I
10.1145/2086696.2086729
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Automatic vectorization is critical to enhancing performance of compute-intensive programs on modern processors. However, there is much room for improvement over the auto-vectorization capabilities of current production compilers through careful vector-code synthesis that utilizes a variety of loop transformations (e.g., unroll-and-jam, interchange, etc.). As the set of transformations considered is increased, the selection of the most effective combination of transformations becomes a significant challenge: Currently used cost models in vectorizing compilers are often unable to identify the best choices. In this paper, we address this problem using machine learning models to predict the performance of SIMD codes. In contrast to existing approaches that have used high-level features of the program, we develop machine learning models based on features extracted from the generated assembly code. The models are trained offline on a number of benchmarks and used at compile-time to discriminate between numerous possible vectorized variants generated from the input code. We demonstrate the effectiveness of the machine learning model by using it to guide automatic vectorization on a variety of tensor contraction kernels, with improvements ranging from 2x to 8 x over Intel ICC's auto-vectorized code. We also evaluate the effectiveness of the model on a number of stencil computations and show good improvement over auto-vectorized code.
引用
收藏
页数:23
相关论文
共 50 条
  • [31] Automatic Document Retrieval Using SVM Machine Learning
    Gopal, Sunita
    Raghav, S.
    PROCEEDINGS OF THE 2017 INTERNATIONAL CONFERENCE ON SMART TECHNOLOGIES FOR SMART NATION (SMARTTECHCON), 2017, : 896 - 901
  • [32] Automatic text summarization using a machine learning approach
    Neto, JL
    Freitas, AA
    Kaestner, CAA
    ADVANCES IN ARTIFICIAL INTELLIGENCE, PROCEEDINGS, 2002, 2507 : 205 - 215
  • [33] Using machine learning to perform automatic term recognition
    Foo, Jody
    Merkel, Magnus
    LREC 2010 - SEVENTH INTERNATIONAL CONFERENCE ON LANGUAGE RESOURCES AND EVALUATION, 2010, : E49 - E54
  • [34] Automatic Database Index Tuning Using Machine Learning
    Valavala, Mounicasri
    Alhamdani, Wasim
    PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON INVENTIVE COMPUTATION TECHNOLOGIES (ICICT 2021), 2021, : 523 - 530
  • [35] Automatic Construction of Inlining Heuristics using Machine Learning
    Kulkarni, Sameer
    Cavazos, John
    Wimmer, Christian
    Simon, Douglas
    PROCEEDINGS OF THE 2013 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2013, : 280 - 291
  • [36] Automatic Anthropometric System Development Using Machine Learning
    Long The Nguyen
    Huong Thu Nguyen
    BRAIN-BROAD RESEARCH IN ARTIFICIAL INTELLIGENCE AND NEUROSCIENCE, 2016, 7 (03): : 5 - 15
  • [37] Automatic Detection and Correction of Vulnerabilities using Machine Learning
    Tommy, Robin
    Sundeep, Gullapudi
    Jose, Hima
    2017 INTERNATIONAL CONFERENCE ON CURRENT TRENDS IN COMPUTER, ELECTRICAL, ELECTRONICS AND COMMUNICATION (CTCEEC), 2017, : 1062 - 1065
  • [38] Automatic classification of object code using machine learning
    Clemens, John
    DIGITAL INVESTIGATION, 2015, 14 : S156 - S162
  • [39] Automatic Classification of Vulnerabilities using Deep Learning and Machine Learning Algorithms
    Ramesh, Vishnu
    Abraham, Sara
    Vinod, P.
    Mohamed, Isham
    Visaggio, Corrado A.
    Laudanna, Sonia
    2021 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), 2021,
  • [40] Improve brain registration using machine learning methods
    Wu, Guorong
    Qi, Feihu
    Shen, Dinggang
    2006 3RD IEEE INTERNATIONAL SYMPOSIUM ON BIOMEDICAL IMAGING: MACRO TO NANO, VOLS 1-3, 2006, : 434 - +