COMPUTER SCIENCEDownload the CUDA Toolkit and SDK from http://www.nvidia.com/object/ cuda_get.html. Make sure to use the “emurelease” (Emulation Mode) version of the code (you will not need actual NVIDIA hardware for this assignment). Build the example programs provided in the SDK, and confirm that they run on the emulator. 1. Using the “template” SDK sample as a starting point, write a CUDA program to perform the following vector operations: 1) a − b (vector-vector subtraction) 2)
$$
a\cdot b
$$
(vector dot product) The dot product of two vectors
$$
a = \left[ a _ { 1 } , a _ { 2 } , \ldots , a _ { n } \right] \text { and } b = \left[ b _ { 1 } , b _ { 2 } , \ldots , b _ { n } \right]
$$
is defined as:
$$
\mathrm { a } \cdot \mathrm { b } = \sum _ { i = 1 } ^ { n } a _ { i } b _ { i } = a _ { 1 } b _ { 1 } + a _ { 2 } b _ { 2 } + \ldots + a _ { n } b _ { n }
$$
Submit code for each program that demonstrates each operation and verifies the correctness of the results. 2. If you have GPU hardware available, complete a performance analysis your program, examining the computation time for the GPU and a CPU version of your program for a range of vector sizes. Explain any results you see. 7th EditionRamez Elmasri, Shamkant B. Navathe687 solutions

5th EditionDavid A. Patterson, John L. Hennessy220 solutions

9th EditionAbraham Silberschatz, Greg Gagne, Peter B. Galvin489 solutions

5th EditionJack T. Marchewka346 solutions