$39.99
CS Program
1 Question 1
Phillipe Thevanes wrote a seminal paper on B-spline interpolation [1]. A sample CPU implementation is given here [2]. You are required to provide the following:
1. Implement the code on the CPU in Google colab environment showing results of the circular pattern image (Fig 8(c) in [1]) . Give comparison of your code output against fig 9(a) and fig 11(c). The figures are copied in figure 1 and 2 respectively. Use any timing function like clock() or hiresolution counters to note the amount of time it takes to process image data on the CPU. (+30)
2. Implement the code on the GPU in Google colab environment showing results of the circular pattern image (Fig 8(c) in [1]). Give comparison of your code output against fig 9(a) and fig 11(c). The figures are given below for your reference again. Note the time it takes to run the kernel using the CUDA event API to calculate the amount of time needed by the GPU. (+30)
3. Optimize the CUDA code by using shared memory or any other means such that you get significant speedup compared to the previous GPU implementation. Output the speedup you obtained on the GPU. (+30)
4. Add comments in the code and do error handling. (+10)
Figure 1: Figure 9 in original paper [1].
1
Figure 2: Figure 11 in original paper [1].
2 Deliverables
Submit a colab notebook (.ipynb) file with your regn. no. as the filename i.e. [ABxxxx Assgn1].ipynb. It should contain your solutions for Questions 1. Use the jupyter notebook text and code cells and write a consolidated report detailing your CPU, unoptimized and optimize GPU implementation. No other file name or file type will be accepted.
3 Deductions Note
Failing to comply to the instructions will result in a deduction of 20 percent score.
References
[2] https://github.com/sobotka/interpolation_revisited
2