|What If Home | Product Overview | Intel® TM ABI specification | Technical Requirements
FAQ | Primary Technology Contacts | Discussion Forum | Blog
The Intel® Platform Modeling tool is an Intel research project which simultaneously collects all available hardware metrics on the platform – host processor, chipset, video, 3D, even NVIDIA. Software metrics such as Perfmon and metrics from application code can be added to the mix of simultaneous hardware metrics. By collecting metrics at the same time, relationships between metrics can be uncovered using any available method including Machine Learning (ML). With an increasing number of metrics available, a list of the best predictors of performance from ML can orient the developer to the right bottleneck in a hardware or software design.
The Intel® Platform Modeling tool offers:
- Dependency Plots – visualize the relationships between metrics
- Timeline Graphs – view any metrics aligned by time
- Event Rank – view the list of best predictors of performance using ML
- Summary View – collect the total event counts for an application
- Raw Metric Data – access metric data as a spreadsheet or using any editor
The Intel® VTune™ Performance Analyzer tells the developer where hardware events occurred, the Platform Modeling tool shows which events are important. The application is run repeatedly to collect all available hardware metrics. The results are analyzed to determine which hardware events best predict the target performance variable – often Instructions per Cycle (IPC) or Frames per Second (FPS).
This is a largely unexplored way of using metrics and there are many combinations of events that may be attempted. In addition, the user is encouraged to create new combinations. As such, results are provided on an “as is” basis but the news group for this product should be a valuable resource to new users or those who might want to share results.
1. This tool is freely downloadable and any existing project data may be reviewed using the tool but to collect data for your own applications, a license for the Intel VTune™ Performance Analyzer is required. You may acquire the commercial product or try an evaluation copy to collect new data. You don’t need to install the Intel® VTune™ Performance Analyzer but the license file must be present.
2. Please see the release notes for more details on technical requirements, including the list of supported processors and operating systems.
In this example, an GPU Active metric (y-axis) for a 3D graphics application is displayed over time (x-axis) using the Dependency Plot. The mouse is used to highlight the data at the cursor (see the yellow tooltip box) and the mouse also determines which image from the benchmark is present in the series at the bottom of the screen. Support for Microsoft’s PIX is present in the publicly available edition of this tool.
Drawing a rectangle in the Dependency Plot output will zoom in on the selected data. In this case, it reveals the cyclic nature of each frame in the 3D graphics benchmark. The colors in plot correspond to the frames in this example.
In this example of using a thread pool for small multi-threaded applications, 3 different threading methods are used. The y-axis is the TID or Thread ID and the X-axis is the time. The first (in red) uses a threading pool of 4 threads while the second and third (black and orange) simply obtain new threads. All 3 threading methods use the same time but the red phase actually does 10 times the work of the other phases. This example is provided in the distribution.
The purpose of the Platform Modeling Tool is to find relationships between the metrics. In this example the FPS (Frames per Second) metric is plotted on the y-axis and a bus metric showing the number of reads is on the x-axis. The near linear relationship of the bus activity with the FPS was found using ML. This dependency plot confirms the relationship is a strong one. The mouse is used to find the visual image of the frames that exhibit this linear relationship.
The Timeline View is used to observe the relationships of different metrics over time. The metrics may or may not have been collected on the same run. In this example, the top graph shows FPS, the middle graph shows the bus read activity, and the bottom graph shows the L1 Cache data reads that split a cache line.
Frequently Asked Questions
Q – What Machine Learning algorithms are used in this software?
A - CART or Classification and Regression Trees and randomForest are both used. More algorithms may be made available in the future. The algorithms are both part of the Intel® Open Source Computer Vision Library available on Sourceforge.net.
Q – How many times does the Intel Platform Modeling tool have to run my application?
A – The number of times that an application is run depends on how many events you want to look at. There might be some 400 publicly available events for the host processor and because only 2 may be collected at one time, the application may have to be run 200 times. This is the maximum but a more normal approach may be to look at the usual suspects for bottlenecks in application. That would require 13 runs with the distributed example configuration. You may build your own configurations if you have your own list of usual suspects.
Q – Why would I use this utility instead of VTune?
A - The Intel Platform Modeling tool is a good place to start – before jumping in to VTune. Once the list of best predictors is produced, VTune can be used to find where these events occur in your application.
Q – Have the results of the Intel Platform Modeling tool been validated?
A – The Intel Platform Modeling tool is a research project. The news group for this tool should be a good place to explore what others have discovered and what conditions are necessary for reliable results.
Q – What types of hardware metrics are used with the Intel Platform Modeling tool?
A – The current inputs to the tool are hardware metrics from the host processor, the memory controller hub (MCH) chipset, the I/O controller hub (ICH) chipset, the Intel Integrated graphics metrics. If NVIDIA hardware is present and the NVIDIA NVPerfKit has been downloaded, the 35 NVIDIA hardware metrics will also be available. All metrics are subject to authorization for release and may or may not be present in the downloaded software.
Q – What software metrics may be included?
A – Perfmon has a long history and Perfmon data may be specified. An example configuration provided in the downloaded software shows one Perfmon configuration. Others may be added by editing the file to be like the example provided. Make sure that the Perfmon metric is available on your system using the Perfmon tool. (It is often hard to get the exact name correct.)
Q - How do I get support or post additional questions?
A - Support questions can be posted to the Intel® Platform Modeling with Machine Learning dicussion forum.
Primary Technology Contacts
Bob Davies is a 25 year veteran at Intel. He was on the Stanford team that won the DARPA Grand Challenge robotic race through the Mojave Desert in 2005. His contribution was to use machine learning to detect road with the camera mounted on the top of the car in cooperation with onboard lasers.