# A Novel Low-Complexity and Parallel Algorithm for DCT IV Transform and Its GPU Implementation
## 6 Comparative Analysis  
From the results presented in the previous section of this study, we observe the superior performances of the proposed algorithm compared to the performances obtained by a reference algorithm that implements the DCT IV transform using the implementation of relation (1). However, the natural question is: \"How does this algorithm behave compared to other algorithms implemented by other researchers?\" This section of the study will answer this question. Comparing our results with those reported in the literature, we only notice that in [30], an increase in the execution speed by a factor of 7.97 could be obtained. This result is close but inferior to those obtained in this work. However, this comparison is not very accurate because these performances were obtained on a RadeonTM HD 6850 GPU produced by the AMD company [30]--a GPU based on a different architecture and operating philosophy compared to those of the NVIDIA company. As presented in Tables 4-8 and 11, the performances of our algorithm, but not only, are strongly dependent on the architecture on which it works. In [37], [PERSON] et al. achieved a speed increase between 1.17 and 1.37 using an NVIDIA GTX280 graphics card. Unfortunately, this graphics card has a Fermi architecture before the Volta and Ampere architectures used in this work. Anyway, the performances are much \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{\begin{tabular}{c} **Processing** \\ **Parameters** \\ \end{tabular} } & \begin{tabular}{c} **Classical** \\ **Implementation** \\ \end{tabular} & \begin{tabular}{c} **Four Section** \\ **Implementation** \\ \end{tabular} & \
\begin{tabular}{c} **Classical** \\ **Implementation** \\ \end{tabular} &
\begin{tabular}{c} **Eight Section** \\ **Implementation** \\ \end{tabular} \\ \cline{2-7}  & **Double** & **Double** & **BFloat16** & **Double** & **Double** & **BFloat16** \\ \hline Mean [ms]: & 0.556 & 0.055 & 0.034 & 0.567 & 0.048 & 0.033 \\ SD: & 0.01393 & 0.00150 & 0.00113 & 0.02028 & 0.00136 & 0.00135 \\ \hline Speedup new DCT: & 10.11 & & & 11.81 & & \\ Speedup BFloat16: & & 1.62 & & & 1.45 & \\ \hline Global speedup: & & 16.38 & & & 17.12 & \\ \hline \hline \end{tabular}
\end{table} 
Table 10: Performance improvements obtained by using BFloat16 data format representation when the GPU frequency was set to the maximum value (624 MHz) for Ampere architecture. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{\begin{tabular}{c} **Processing** \\ **Parameters** \\ \end{tabular} } & \begin{tabular}{c} **Classical** \\ **Implementation** \\ \end{tabular} & \begin{tabular}{c} **Four Section** \\ **Implementation** \\ \end{tabular} & \
\begin{tabular}{c} **Classical** \\ **Implementation** \\ \end{tabular} &
\begin{tabular}{c} **Eight Section** \\ **Implementation** \\ \end{tabular} \\ \cline{2-7}  & **Double** & **Double** & **BFloat16** & **Double** & **Double** & **BFloat16** \\ \hline Mean [ms]: & 1.101 & 0.092 & 0.049 & 1.107 & 0.069 & 0.057 \\ SD: & 0.03137 & 0.00025 & 0.00013 & 0.03348 & 0.00010 & 0.00027 \\ \hline Speedup new DCT: & 11.97 & & & 16.04 & & \\ Speedup BFloat16: & & 1.88 & & & 1.21 & \\ \hline Global speedup: & & 22.5 & & & 19.41 & \\ \hline \hline \end{tabular}
\end{table} 
Table 11: Performance improvements were obtained by using BFloat16 data format representation when the GPU frequency was set to the minimum value (306 MHz) for Ampere architecture. lower than those obtained and reported in this study. The same can be said about the results presented in [39]. This time, the performance increase was 2.46, but this was obtained on a Kepler-type architecture (prior to the Volta and Ampere architectures) in the coding of an entire frame--an operation composed both of the DCT transform and other operations (quantization, zigzag serialization, Huffman coding, color space conversion, etc.).