CSC630/730, Fall 2020
Assignment #3
This is a group assignment. All group members work together to complete this assignment.
Implementation of the Forward Path of Convolutional Neural Networks Using CUDA
Description
The lecture (CSC730_Parallel_CNN_2.pdf) gave the serial algorithm of the forward path of the forward path of Convolutional Neural Network (CNN), parallel algorithm design and CUDA code segments. In this assignment, you will do the following:
(1) write serial C program to implement the forward path of the forward path of the CNN based on the serial algorithm and pseudocode given in the lecture.
(2) Complete CUDA program and run your program on Magnolia system.
(3) Write a short report to describe thread cognization and mapping, include screenshots to show how to compile and execute your programs, and compare the results obtained by the serial program and CUDA program. You need to visualize
the output feature maps as images and include them in your report.
There are 3 input images, 6 filters and two output features maps. The 6 filters are the same as given in the lecture, each with a size of 2 x2. The inputs images can be downloaded from Canvas, each with a size of 28 x 28 pixels. You will generate two output feature maps using both serial program and CUDA program.
Submission
Submit serial code, parallel code and report to Canvas.