Assignment 1 - CUDA and Bender Setup

DUE Monday, October 14 @ 11:59:59PM Pacific Time

Overview

The objective of this assignment is to get setup with using CUDA on the Bender ENGR server. The following tutorial provides detail steps and directions: BenderTutorial.pdf

If you are unfamiliar with using the Linux commandline, there's a great tutorial here: https://www.codecademy.com/learn/learn-the-command-line

  1. For this lab, we will be using Github Classroom.
    Please join the classroom by clicking the following link: https://classroom.github.com/a/qvq6ob97
    Once you join the classroom, a private github repository will automatically be created with the starter code.
    Simply git clone to copy the starter code to Bender.

Matrix Addition

Once you have access to Bender and confirmed it can compile and run CUDA code, we will implement a simple Vector Multiply.

  1. Clone the git repository. There should be 5 files: kernel.cu, main.cu, Makefile, support.cu, support.h
  2. By default, Matrix Addition operates on 1000x1000 matrices, which are randomly generated. To ensure consistency when grading, do not add any srad seed value in main.cu.
  3. Complete the Matrix Addition application by adding your code to main.cu and kernel.cu. Use a thread block dimension of 16x16. You may consult the class slides on vector add.

Answer the following questions:

## Submission 1. Answer the previous questions by including a report document in the repository in either **PDF, Plain text, or Markdown format only**. Please name your report `FirstName-LastName.pdf` or `FirstName-LastName.txt` or `FirstName-LastName.md`, etc. 2. Commit and push your completed Matrix Addition to the github repository. (You only need to modify `kernel.cu` and `main.cu`.) !! Please also include your name **in** the report.