Download presentation
Presentation is loading. Please wait.
Published byPhilip McGee Modified over 9 years ago
1
CISC 879 - Machine Learning for Solving Systems Problems Presented by: Eunjung Park Dept of Computer & Information Sciences University of Delaware Solutions to Open Problems in Using Machine Learning to Construct Intelligent Compilers
2
CISC 879 - Machine Learning for Solving Systems Problems Problem Statements It is difficult to construct an optimizing compiler that takes full advantage of an architecture because of the complexity of the architecture and interactions between optimizations It is difficult to construct an optimizing compiler that takes full advantage of an architecture because of the complexity of the architecture and interactions between optimizations
3
CISC 879 - Machine Learning for Solving Systems Problems Solution Overview Generating Training Data Collecting Kernels Extracting Features Exploring Option Space Training Set Building a Performance Prediction Model Predicting the Best Sequence for Testing Set
4
CISC 879 - Machine Learning for Solving Systems Problems Solution Overview Kernels Pool Hot Kernels Identification src to src compiler Kernel Benchmarks Kernel’ Generating Training Data Collecting Kernels Extracting Features Exploring Option Space Training Set Building a Performance Prediction Model Predicting the Best Sequence for Testing Set Kernel
5
CISC 879 - Machine Learning for Solving Systems Problems Kernels Pool Solution Overview PAPI code Instrumentation PAPI code Instrumentation Kernels Pool Compiler Source Code Feature Extraction Source Code Feature Extraction CFG Feature Extraction CFG Feature Extraction Code Generation Generating Training Data Collecting Kernels Extracting Features Exploring Option Space Training Set Building a Performance Prediction Model Predicting the Best Sequence for Testing Set Run Executable Performance Counters Feature Source Code Feature IR Feature
6
CISC 879 - Machine Learning for Solving Systems Problems Solution Overview Generating Training Data Collecting Kernels Extracting Features Exploring Option Space Training Set Building a Performance Prediction Model Predicting the Best Sequence for Testing Set Kernels Pool Iterative Elimination Genetic Algorithm Random Selection … Choose the Best Solution Performance Counters Feature Source Code Feature IR Feature Best Sequence of Optimization
7
CISC 879 - Machine Learning for Solving Systems Problems Solution Overview Generating Training Data Collecting Kernels Extracting Features Exploring Option Space Training Set Building a Performance Prediction Model Predicting the Best Sequence for Testing Set Performance Counters Feature Source Code Feature IR Feature Best Sequence of Optimization Best Sequence of Optimization Best Sequence of Optimization Training Set1 Training Set2 Training Set3
8
CISC 879 - Machine Learning for Solving Systems Problems Solution Overview Generating Training Data Collecting Kernels Extracting Features Exploring Option Space Training Set Building a Performance Prediction Model Predicting the Best Sequence for Testing Set Training Set Machine Learning Algorithm Model 1 Model 2 Model 3
9
CISC 879 - Machine Learning for Solving Systems Problems Solution Overview Generating Training Data Collecting Kernels Extracting Features Exploring Option Space Training Set Building a Performance Prediction Model Predicting the Best Sequence for Testing Set Test Model Cross Validation on Training Kernels Test with large applications/benchmarks The predicted sequence of optimization will be applied for each function, not whole program
10
CISC 879 - Machine Learning for Solving Systems Problems Case Study: Open64 Compiler
11
CISC 879 - Machine Learning for Solving Systems Problems Contribution Reducing the overhead to train compilers Generating larger training data Constructing performance prediction models automatically Finding good optimization for each function in an application automatically
12
CISC 879 - Machine Learning for Solving Systems Problems Ongoing Works Applying clustering algorithms/PCA for better quality of training data Applying different machine learning algorithms for performance prediction model Applying different algorithms for better optimization space exploration Providing finger granularity than functions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.