Question: Convolution is an important component in Convolutional Neural Networks ( CNN ) . As shown in the following figure, a convolutional later in CNN can
Convolution is an important component in Convolutional Neural Networks CNN As shown in the following figure, a convolutional later in CNN can be implemented with matrix multiplication. It is also assumed that the convolution filters have been converted to a matrix W with width Ww and with height Wh and all input features have been converted to matrix X with width Xw and with height Xh
Part : Write a serial C code to calculate the output feature Y if it is implemented with matrix multiplication
Part : If implementing the convolution calculation using matrix multiplication in parallel with CUDA, explain how to divide the problem into subtasks and how to assign multiple threads to these subtasks using a ID thread organization.
Part : Write a CUDA kernel function to calculate output feature Y based on parallel algorithm in Part
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
