CPU-GPU Benchmarking
This project is about, drawing a Cube in CPU and rotate it with matrix operations in its own center at the CPU. Then making the same rotating proccess in the GPU and comparing their performances. And increase the performance at the GPU with multi-streams technique.
Figure 1: Front Face of Cubes. (a) Cube created for CPU. (b) Eight times subdivided version of the cube created for CPU. (c) Cube created for GPU. (d) Eight times subdivided version of the cube created for GPU.
A Cube object rotates 90 degree around its own center first in CPU then in GPU.
Figure 2: V1 Terminal Output
GPU part of the project is separated in streams that work in concurrently.
(a) With Single Stream
(b) With Eight(8) Streams
Figure 3: Execution of tasks in timeline. For single stream green is copying data from host to device, red is copying data from device to host and purple is kernel launch. For eight steams green is copying data from host to device, pink is copying data from device to host and purple is kernel launch.
Figure 4: V2 Terminal Output