CS5100 Advanced Computer Architecture

Slides:



Advertisements
Similar presentations
By: Lloyd Albin 9/28/2012. We are not talking about a Raspberry Pie.
Advertisements

Linux on an FPGA Team: Anthony Bentley Dylan Ismari Bryan Myers Tyler Jordan Mario Espinoza Sponsor: Dr. Alonzo Vera.
Lab 4 Department of Computer Science and Information Engineering National Taiwan University Lab4 - Bootloader 2014/10/14/ 13 1.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
CS 110 Intro to Computer Science I Sami Rollins Fall 2006.
Project 0: Linux & VM Dabbling CS-502, Fall Project 0: Linux & Virtual Machine Dabbling CS-502, Operating Systems.
Computer System Laboratory
COMPUTER SYSTEM LABORATORY Lab4 - Bootloader. Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA /10/8/ 142.
GETTING STARTED USING LINUX UBUNTU FOR A MULTI-USER SYSTEM Team 4 Lab Coordinator Manager Presentation Prep Webmaster Document Prep Faculty Facilitator.
CISC 673 : Optimizing Compilers Dept of Computer & Information Sciences University of Delaware JikesRVM.
Lab 3 Department of Computer Science and Information Engineering National Taiwan University Lab3 - Cross Tools 2014/10/7/ 20 1.
Tutorial 11 Installing, Updating, and Configuring Software
Systems Software & Operating systems
CISC 673 : Optimizing Compilers Dept of Computer & Information Sciences University of Delaware JikesRVM.
Lab 11 Department of Computer Science and Information Engineering National Taiwan University Lab11 - Porting 2014/12/9/ 26 1.
©2003/04 Alessandro Bogliolo Computer systems A quick introduction.
LING 408/508: Programming for Linguists Lecture 3 August 31 st.
ABAQUS Installation on LINUX Platform D. Hanumanthappa, A. Jérusalem May 5th, 2010.
Guideline: How to build AMSS source code? History: 01/02/ Make Draft 05/02/2010 – Release /02/2010 – Updated.
How to Install and Run Prepared by: Shubhra Kanti Karmaker Santu Lecturer CSE Department BUET.
(1) A Beginner’s Quick Start to SIMICS. (2) Disclaimer This is a quick start document to help users get set up quickly Does not replace the user guide.
1 What is a Kernel The kernel of any operating system is the core of all the system’s software. The only thing more fundamental than the kernel is the.
Introduction to Systems Programming (CS 0449) PalmOS Tools: Developer Studio & Cygwin.
COMPUTER SYSTEM LABORATORY Lab6 - Root Filesystem.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
MIPS Project -- Simics Yang Diyi Outline Introduction to Simics Simics Installation – Linux – Windows Guide to Labs – General idea Score Policy.
Cole David Ronnie Julio Sam Littlefield. Let’s Begin  Globus Toolkit runs on Unix platform only  Install Ubuntu  download all updates for Ubuntu.
Java Programming, Second Edition Appendix A Working with Java SDK 1.4.
Building Your Own Android Systems from Source Adam C. Champion CSE 5236: Mobile App Development 1.
Installing Applications in FreeBSD lctseng. Computer Center, CS, NCTU 2 Before we start  Permission issue root: the super user Like administrator in.
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 – Bootloader + OS Kernel 2015/10/27/ 25 1.
Lab 8 Department of Computer Science and Information Engineering National Taiwan University Lab8 - Root Filesystem 2015/11/10/ 22 1.
Installing CUDA, PyCUDA on Ubuntu
Implementation of Embedded OS
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 - OS Kernel 2014/10/21/ 16 1.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
Ns2 Installations and Basics Abdul Razaque. How to install Ubuntu on windows-7 & 8 Download the Ubuntu ISO file. You can get the ISO file from the Ubuntu.
Advanced Computing Facility Introduction
General Purpose computing on Graphics Processing Units
By Jonathan Rinfret UNIX/LINUX By Jonathan Rinfret
Operating System Kernel Compilation
bitcurator-access-webtools Quick Start Guide
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
Implementation of Embedded OS
Computer System Laboratory
Embedded Software Development with Python and the Raspberry Pi
Install external command line softwares
Obtaining the Required Tools
Introduction to .NET Core
How 2 contribute to Mozilla code base
Machine Learning Workshop
AES on GPU using CUDA Choi dae soon.
Using Linux and Lab Setup OS Lab 1
The Linux Operating System
GeoPortal Training Workshop 1st Mar 2017
Lab 1 introduction, debrief
Building Android OS Topics: Building Android and Kernel
GEM5 Assignment 2016.
Operating System Kernel Compilation
Intel Siskiyou Peak CPU How to Run Simulation
Operation System Program 4
GPGPU-Sim Tutorial (MICRO 2012) 3: Setup and Run
CS791v Homework and Submission
Introduction to CUDA.
Computer System Laboratory
Windows Installation Tutorial
Computer System Laboratory
Version/revision control via git
Operating System Kernel Compilation
Building Your Own Android Systems from Source
Presentation transcript:

CS5100 Advanced Computer Architecture Gem5-GPU Installation CS5100 Advanced Computer Architecture

Introduction of Gem5-GPU It merges 2 popular simulators: gem5 and gpgpu-sim Simulates CPUs, GPUs, and the interactions between them Models a flexible memory system with support for heterogeneous processors and coherence Supports full-system simulation through GPU driver emulation

Set up gem5-gpu environment Platform: Ubuntu 14.04LTS 64bit Recommended RAM size: 4G Recommended Hard Disk size: 80G Download path: https://mega.co.nz/#!wVdgFJQL!EPwc4Q9tTmrJtiBrWbtSSvv74ah8ljIB0iX1EvyMAPE gcc 4.7 & g++ 4.7 installation sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.7 sudo apt-get install g++-4.7 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 30 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 30 sudo update-alternatives --config gcc sudo update-alternatives --config g++

Set up gem5-gpu environment Install essential packages sudo apt-get install zlib1g-dev bison mercurial scons libprotobuf-dev python-dev swig protobuf-compiler Install CUDA toolkit 3.2 wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/cudatoolkit_3.2.16_linux_64_ubuntu10.04.run chmod +x ./cudatoolkit_3.2.16_linux_64_ubuntu10.04.run sudo ./cudatoolkit_3.2.16_linux_64_ubuntu10.04.run export CUDAHOME=/usr/local/cuda export PATH=$PATH:/usr/local/cuda/bin export LD_LIBRARY_PATH=/usr/local/cuda/lib64

Set up gem5-gpu environment edit .hgrc vim .hgrc type the following in the document [extensions] mq= [ui] username = <your username> ←fill in your own username

Set up gem5-gpu environment Clone gem5 and gem5-patches mkdir gem5-gpu cd gem5-gpu hg qclone http://repo.gem5.org/gem5 -p http://gem5-gpu.cs.wisc.edu/repo/gem5-patches cd gem5/ hg update -r 11060 hg qpush -a cd ..

Set up gem5-gpu environment Clone GPGPU-Sim and GPGPU-Sim patches hg qclone http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim -p http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim-patches cd gpgpu-sim hg qpush -a cd .. Clone gem5-gpu glue code hg clone http://gem5-gpu.cs.wisc.edu/repo/gem5-gpu Build cd gem5 scons build/X86_VI_hammer_GPU/gem5.opt --default=X86 EXTRAS=../gem5-gpu/src:../gpgpu-sim/ PROTOCOL=VI_hammer GPGPU_SIM=True

Set up gem5-gpu environment Obtain CUDA SDK wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/sdk/gpucomputingsdk_3.2.16_linux.run chmod +x ./gpucomputingsdk_3.2.16_linux.run sudo ./gpucomputingsdk_3.2.16_linux.run export NVIDIA_CUDA_SDK_LOCATION=/home/<username>/NVIDIA_GPU_Computing_SDK/C Obtain Benchmarks ~/gem5-gpu $ hg clone https://gem5-gpu.cs.wisc.edu/repo/benchmarks/ Do this under your root directory (gem5-gpu/ in this example)

Set up gem5-gpu environment Compile ~/gem5-gpu$ cd benchmarcks/libcuda/ make If you encounter make error, please export CUDA path in page 4 again cd /home/<username>/NVIDIA_GPU_Computing_SDK/C/common

Example of Compiling benchmark Use gcc 4.4 & g++ 4.4 to compile benchmarks sudo apt-get install gcc-4.4 sudo apt-get install g++-4.4 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 40 sudo update-alternatives --config gcc sudo update-alternatives --config g++ Example of Compiling a Benchmark ~/gem5-gpu/benchmarks$ cd rodinia/backprop make gem5-fusion

Example of running benchmark Example of Running a Benchmark cd gem5/ build/X86_VI_hammer_GPU/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../benchmarks/rodinia/backprop/gem5_fusion_backprop -o "16“ Or type the commend under if you have problem /home/pads/gem5-gpu/gem5/build/X86_VI_hammer_GPU/gem5.opt /home/pads/gem5-gpu/gem5-gpu/configs/se_fusion.py -c /home/pads/gem5-gpu/benchmarks/rodinia/backprop/gem5_fusion_backprop -o "16” Run other benchmarks 16 is the parameter that backprop benchmark needed, different benchmark will need different type of input Find the command argument at README or run file in the benchmark folder

Example of running benchmark with input data Download input data https://drive.google.com/file/d/0B-xa6WK_zXMHaXc3SWtDNkd3bUE/view?usp=sharing Compile image compression benchmark dwt ~/gem5-gpu/benchmarks$ cd rodinia/dwt make gem5-fusion Run dwt build/X86_VI_hammer_GPU/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../benchmarks/rodinia/dwt/gem5_fusion_dwt -o “--dimension 192x192 <your input data folder>/dwt2d/192.bmp <your input data folder>/data/dwt2d/out” Parameters in command correspond to “--dimension <size> <Input_path]> <Output_path>”

Possible error When you run benchmark with input data you may encounter following error Please go to gem5/build/X86_VI_hammer_GPU/mem/packet_queue.cc and modify limit of transmitList.size() in line 117, then rebuild gem5

Reference Getting Started Build Benchmarks https://gem5-gpu.cs.wisc.edu/wiki/start Build Benchmarks https://gem5-gpu.cs.wisc.edu/wiki/benchmarks Simulator version information http://goo.gl/S1ts6