# A Novel Low-Complexity and Parallel Algorithm for DCT IV Transform and Its GPU Implementation
## 5 Experimental Results
At 114.75 MHz, the classical implementation of the DCT IV algorithm obtained 3.76% of the overall compute throughput of an SM unit for 2.53 ms (Table 8). In the same conditions, our four-section parallel implementation of the DCT IV algorithm generated a computational throughput of 28.05%, as compared with the classical implementation for only 156.45 us. Figure 2: A detailed memory workload analysis of the GPU through NVIDIA Nsight Compute tool. The theoretical speedup of an application when multiple cores are used is limited by the part of the task that cannot benefit from the improvement in the multiple cores. The novel algorithm was developed in such a specific way that a part of it can be easily split into four or eight different threads. Table 9 presents the percentage of the algorithm that cannot be parallelized as a ratio between the execution time of this part and the total execution time. The results are presented for the Volta architecture (the GPU existing on Jetson AGX Xavier development board) for both parallel implementations (with four sections or with eight sections) and for the lowest acceptable working frequency of the GPU (114.75 MHz) and the highest working frequency of the GPU (1.377 GHz). The execution time of a specific program section is composed of the times required to access memory for read/write operations and the time needed by the CUDA core to  
Figure 4: The GPU throughput for a SM unit (magenta—classical implementation, green—parallel implementation with four sections, blue—parallel implementation with eight sections)—GPU at 1.377 GHz. Figure 3: The GPU throughput for a SM unit (magenta—classical implementation, green—parallel implementation with four sections, blue—parallel implementation with eight sections)—GPU at 114.75 MHz. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Jetson AGX**} & \multicolumn{3}{c}{**The Time Intervals in Which the GPU Throughputs**} \\  & \multicolumn{3}{c}{**from Figures 3 and 4 Are Obtained**} \\ \cline{2-4}
**Xavier** & **Classical** & **Four Sections in** & **Eight Sections in** \\  & **Implementation** & **Parallel** & **Parallel** \\ \hline
114.75 MHz & 2.53 ms & 156.45 \(\upmu\)s & 132.70 \(\upmu\)s \\
1.377 GHz & 214.14 \(\upmu\)s & 15.68 \(\upmu\)s & 15.26 \(\upmu\)s \\ \hline \hline \end{tabular}
\end{table} 
Table 8: The GPU throughput analysis. Overall, the performance improvements are between 16.38 and 22.5 for the novel DCT algorithm implemented in four sections and between 17.12 and up to 19.41 for the eight-section approach. Of course, the use of the BFloat16 representation also has disadvantages. Even if the dynamic range of the BFloat16 representation is identical to that of the float32 representation, the precision is limited to a maximum of three significant decimal digits. Depending on the field in which this novel DCT IV algorithm will be used based on a BFloat16 data representation, this low precision may represent a vital disadvantage or may not matter much. The data from Tables 10 and 11 are presented so that a potential user of the algorithm can estimate the advantages brought by this algorithm implementation compared to the specific disadvantages generated by the loss of precision within its application.