Vortex tutorials at MICRO-56 (29th October 2023)
Description:
Vortex is an open-source hardware and software project to support GPGPU based on RISC-V ISA extensions. Currently, Vortex supports OpenCL/CUDA and it runs on FPGA. The Vortex platform is highly customizable and scalable with a complete open-source compiler, driver and runtime software stack to enable research in GPU architectures. In this tutorial, we will cover Vortex's hardware, software, applications, and provide hands-on exercises.
Blaise Tine, Hyesoon Kim, Jeff Young, Liam Cooper, Chihyo (Mark) Ahn, Shinnung Jeong
How to register: MICRO-56 registration link
Time | Contents | Presenter | slides |
---|---|---|---|
1:00-1:30 | Intro and GPU background | Hyesoon Kim | slides 1 slides 2 |
1:30-2:00 | Vortex Microarchitecture | Blaise Tine | slides |
2:00-3:00 | Vortex Code Review | Blaise Tine | slides |
3:00-3:30 | Q&A and Break | ||
3:30-3:50 | Vortex Software Stack | Shinnung Jeong | slides |
3:50-4:10 | CupBop/Running OpenCL/CUDA on Vortex | Chihyo Ahn | slides |
4:10-4:20 | Vortex FPGA demo & Tutorial Assignments | Liam Cooper | slides |
4:20-4:40 | Discussions for Academic Usages with Vortex | Hyesoon Kim | slides |
4:30-5:00 | Hands-on Exercises |
- Assignment 1 and assignment 2: Adding simple hardware performance counters
- Assignment 3 and assignment 4: Adding hardware prefetcher and learning to debug
- Assignment 5: Adding software prefetching & simx modification
- Assignment 6: Adding performance counters to test the software prefetcher
Solutions are available for assignment 3 and assignment 5.
For tutorial info please join vortex-dev@lists.gatech.edu
VM Access (recommended): please see the VM README to get instructions for downloading and running the Vortex tools using Vagrant and VirtualBox.
If you are not able to download and use the VM, the alternative is to use the Open OnDemand terminal interface hosted by the CRNCH Rogues Gallery. Instructions can be found here.
If you would like to set up Vortex on your own system instead of using a VM or remote access, instructions can be found here and pre-built toolchain details here; they are for Linux (Ubuntu 18.04) systems only.