ICS2018 gem5 SVE Tutorial

From gem5
Revision as of 17:07, 21 February 2018 by Josejoao (talk | contribs) (Target Audience)
Jump to: navigation, search

Vector Architecture Exploration with gem5 (Arm)

Abstract

The Arm Scalable Vector Extension (SVE) is a key enabling technology to accelerate HPC and machine learning workloads on future Arm-based processors. SVE does not set a specific vector length, which is microarchitecture-specific. This vector-length agnosticism increases design space complexity and exacerbates the importance of having flexible and accurate modeling tools.

gem5 is an open-source full-system microarchitectural simulator that is widely used in academia and industry. Arm is a major contributor to gem5 and has developed and upstreamed many features and models. SVE support in gem5 is being finalized to be made publicly available to enable users to simulate multi-core architectures with SVE using Arm-provided timing models.

This tutorial covers the features of SVE, the trade-offs of designing a multi-core that uses vectors, and the publicly available tools to model the performance of such vector architectures, with an emphasis on gem5 with SVE support. In addition to gem5, the tutorial will also cover other analysis tools for SVE, such as the Arm Instruction Emulator, which will be made available to the participants through docker images to provide a quick start in these environments.

Target Audience

The primary audience are computer architect engineers both in academia (e.g., graduate students) and in industry who want to learn about the Arm Scalable Vector Extension (SVE) and the Arm tools for SVE, or are planning to use gem5 for architecture research, especially if they plan to explore Arm vector architectures. The tutorial is also expected to be useful as a high-level introduction to gem5 and how it can be used for architecture research.

Prerequisites: working knowledge of computer systems, vector architectures, C++ and Python is recommended.

Schedule (tentative)

Topic Time
Introduction 10 min
The Arm Scalable Vector Extension 30 min
Vector Architecture Design and Tools 30 min
Introduction to gem5 15 min
Break 30 min
gem5 Basics 45 min
gem5 Advanced Features 45 min
SVE gem5 Simulation 30 min
Closing 5 min

Organizers

Tutorial organized by Alex Rico and Jose Joao of Arm