Introduction
GPGPU-Sim (General Purpose Graphics Processing Unit Simulator) is a cycle-accurate simulator for Graphics Processing Units (GPUs). It provides a flexible platform for researchers and developers to study various aspects of GPU architecture and programming. It is an open-source software framework that simulates both the compute units and the memory hierarchy of a GPU, allowing for detailed analysis of various performance metrics such as latency, bandwidth, and power consumption.
Review of the 5-stage CPU Pipeline
Instruction fetch (IF)fetch the instruction from the instruction cache
Decode (ID)
decode the instruction & fetch registers
Due: <span style="color:red"> Tue, 2023/05/16 23:59 </span>
Introduction
Simulation of a dynamical system of particles Under the influence of gravity
The dataset is an imitation of our Milky Way galaxy In this homework, your are asked to use CUDA with 2 GPUs to perform the simulation.
Problem Description
Please refer to the homework slides for problem description.<span style="color:red">You should implement the parallel code with brute force algorithm. No need to implement Barnes-Hut Algorithm.</span>
Formulas & Parameters
Ice1187 changed 2 years agoView mode Like Bookmark
Due: <span style="color:red"> Tue, 2023/04/25 23:59 </span>
Problem Description
Slides: https://docs.google.com/presentation/d/10GPZrYRWTOMvGYfCJyivcDphwHMqiiNPmvCF-IEJmXw/edit?usp=share_link
In this assignment, we provide you the sequential (CPU) code of a bitcoin miner. You are asked to parallelize it with CUDA. You may use any techniques that you’ve learned in this class!
Input Format
First line of the input is an integer $N$ represent number of blocks to solve.
Follow by $N$ blocks of data belowDataDescription20000000Version0000000000000000003348540cbfc68b70825e7abcd5a83a48a5f87fa7f1aacePrevious block hash5ac22f8bTimestamp17502ab7Nbits (difficulty)2094Number of transactionsc6574adb277efbfb972658ab78b1277707a967076cfc90d6af800cd8a915396dTransactions (2094 line of hash values like this)
Due: Tue, 2023/4/11 23:59
Problem Description
Slides: https://docs.google.com/presentation/d/1Ux1caoQtJmzLOwkE-C1PGS40WoyhO7u_lB94PWq5Fws/edit?usp=sharing
This homework helps you understand the basic concepts in CUDA.
The sobel operator is used in image processing and computer vision, particularly within edge detection algorithms where it creates an image emphasising edges.
In this homework, you are given the sequential (CPU) code of a 5x5 variant of the sobel
Due: <span style="color:red;">Tue, 2023/3/28 23:59</span>
Problem Description
In this assignment, you are asked to implement a simplest Ray Marching algorithm to render the “Classic” Mandelbulb and parallelize your program with MPI and OpenMP libraries. We hope this assignment helps you to learn the following concepts:
The differences between Static Scheduling and Dynamic Scheduling.
The importance of Load Balancing.
The importance of parallel algorithm.
<span style="color:red;">Please note that you are not allowed to use mathematical techniques to bypass or reduce the iteration process of calculating Mandelbulb sets.</span>
This tutorial goes through the usage of NCHC container for writing CUDA programs. The system file will be reset on every launch, but the files located at /root/ will be saved and therefore you should save all of your code under /root. Nonetheless, you should always backup your code such as using git.
Website: https://portal.educloud.nchc.org.tw
Getting started
Please follow the tutorial prepared by previous TA to start the container and obtain the ssh port for accessing the container: https://hackmd.io/ynRIWGL1Rvytr4Z-uvuRfw
TL;DR:
You can select using 1 or 2 GPUs by starting the corrosponding container.