In this problem we will compare the performance of a vector processor with a system that contains a scalar processor and a GPU-based coprocessor. In the hybrid system, the host processor has superior scalar performance to the GPU, so in this case all scalar code is executed on the host processor while all vector code is executed on the GPU.
We will refer to the rst system as the vector computer and the second system as the hybrid computer.
Assume your target application contains a kernel with an arithmetic intensity of 0.5 FLOPs per DRAM byte accessed. However, the application also has a scalar component which must be performed before and after the kernel in order to prepare the input vectors and output vectors, respectivel y.
For a sample dataset, the scalar portion of the code requires 400 ms of execution time on both the vector processor and the host processor in the hybrid system. The kernel reads input vectors consisting of 200 MB and has output data consisting of 100 MB. The vector processor has a peak memory bandwidth of 30 GB/s and the GPU has a peak memory bandwidth of 150 GB/s. The hybrid system has an additional overhead that requires all input vectors to be transferred between the host memory and GPU local memory before and after the kernel is invoked. The hybrid system has a DMA bandwidth of 10 GB/s and an average latency of 10 ms.Assume that both the vector processor and GPU are both performance bound by memory bandwidth.
Compute the execution time for both computers for this application