# Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit
## 4 Evaluation
### Comparison with Existing CPU-GPU Implementation
\begin{table}
\begin{tabular}{c c c c c c} \hline
**PWD Num** & **Writing (ms)** & **Computation (ms)** & **Reading (ms)** & **Total (ms)** & **Time/Num** \\ \hline
4096 & 298.81/162.53 & 25.93/33.71 & 138.04/141.54 & 462.78/337.78 & 0.113/0.082 \\ \hline
2048 & 153.27/83.51 & 13.21/17.31 & 75.02/68.66 & 241.51/169.47 & 0.118/0.083 \\ \hline
1024 & 78.58/44.58 & 6.75/11.29 & 36.58/36.70 & 121.90/92.57 & 0.119/0.090 \\ \hline
512 & 38.23/25.01 & 3.60/7.40 & 19.29/18.56 & 61.12/50.98 & 0.119/0.100 \\ \hline
256 & 19.97/12.51 & 2.00/5.70 & 9.18/9.44 & 31.15/27.66 & 0.122/0.108 \\ \hline
128 & 9.58/8.68 & 1.06/4.73 & 4.90/4.76 & 15.54/18.16 & 0.121/0.142 \\ \hline
64 & 4.70/6.27 & 0.75/4.43 & 2.17/2.63 & 7.62/13.32 & 0.12/0.208 \\ \hline
32 & 2.48/4.84 & 0.65/4.20 & 1.29/1.23 & 4.42/10.27 & 0.14/0.321 \\ \hline \end{tabular}
\end{table} 
Table 4: Comparison of the performance of the implementation with that of the previous implementation at levels of parallelism (p) of 4 for Argon2 id versions (Ours/Mosnäckek). \begin{table}
\begin{tabular}{c c c c c c} \hline
**PWD Num** & **Writing (ms)** & **Computation (ms)** & **Reading (ms)** & **Total (ms)** & **Time/Num** \\ \hline
4096 & 211.09/161.54 & 26.67/30.44 & 138.05/136.60 & 375.80/328.58 & 0.092/0 \begin{table}
\begin{tabular}{c c c c c c} \hline
**PWD Num** & **Writing (ms)** & **Computation (ms)** & **Reading (ms)** & **Total (ms)** & **Time/Num** \\ \hline
4096 & 205.18/163.22 & 26.77/ 30.74 & 145.71/ 142.95 & 377.66/ 336.91 & 0.092/ 0.082 \\ \hline
2048 & 100.84/81.77 & 13.64/ 16.43 & 76.58/ 70.86 & 191.06/ 169.06 & 0.093/ 0.083 \\ \hline
1024 & 49.97/43.09 & 7.18/ 9.43 & 35.96/ 36.48 & 93.11/ 88.10 & 0.091/ 0.087 \\ \hline
512 & 39.50/21.94 & 4.07/ 5.92 & 27.25/ 18.02 & 70.82/ 45.88 & 0.138/ 0.090 \\ \hline
256 & 12.59/15.20 & 1.93/ 3.88 & 8.79/ 13.72 & 23.31/ 32.81 & 0.091/ 0.128 \\ \hline
128 & 6.49/ 6.91 & 1.31/ 3.20 & 5.07/ 4.93 & 12.86/ 15.04 & 0.100/ 0.117 \\ \hline
64 & 3.41/ 4.52 & 1.10/ 3.00 & 2.25/ 2.71 & 6.76/ 10.23 & 0.106/ 0.160 \\ \hline
32 & 1.70/ 3.17 & 0.99/ 2.84 & 1.03/ 1.27 & 3.71/ 7.28 & 0.116/ 0.227 \\ \hline \end{tabular}
\end{table} 
Table 6: Comparison of the performance of the implementation with that of the previous implementation at levels of parallelism (p) of 2 for Argon2i versions (Ours/Mosnácek). \begin{table}
\begin{tabular}{c c c c c} \hline
**PWD Num** & **Writing (ms)** & **Computation (ms)** & **Reading (ms)** & **Total (ms)** & **Time/Num** \\ \hline
4096 & 297.37/165.81 & 26.28/ 33.94 & 142.90/ 137.33 & 466.54/ 337.08 & 0.114/ 0.082 \\ \hline
2048 & 159.57/ 87.44 & 13.38/ 19.07 & 76.57/ 68.57 & 249.52/ 175.08 & 0.122/ 0.085 \\ \hline
1024 & 77.49/ 42.23 & 6.86/ 11.13 & 36.69/ 35.80 & 121.04/ 89.17 & 0.118/ 0.087 \\ \hline
512 & 39.12/ 24.85 & 3.62/ 7.44 & 19.95/ 19.12 & 62.69/ 51.42 & 0.122/ 0.100 \\ \hline
256 & 18.84/ 14.32 & 2.02/ 5.75 & 9.44/ 8.69 & 30.30/ 28.76 & 0.118/ 0.112 \\ \hline
128 & 9.44/ 8.27 & 1.05/ 4.78 & 4.63/ 4.87 & 15.11/ 17.91 & 0.118/ 0.140 \\ \hline
64 & 4.86/ 5.90 & 748.20/ 4.43 & 2.28/ 2.16 & 755.35/ 12.49 & 11.80/ 0.195 \\ \hline
32 & 2.54/ 5.12 & 639.10/ 4.17 & 1.22/ 1.16 & 642.86/ 10.45 & 20.09/ 0.326 \\ \hline \end{tabular}
\end{table} 
Table 7: Comparison of the performance of the implementation with that of the previous implementation at levels of parallelism (p) of 4 for Argon2i versions (Ours/Mosnácek). \begin{table}
\begin{tabular}{c c c c c c} \hline
**PWD Num** & **Writing (ms)** & **Computation (ms)** & **Reading (ms)** & **Total (ms)** & **Time/Num** \\ \hline
4096 & 172.82/160.34 & 25.98/ 28.92 & 139.74/ 143.14 & 338.54/ 332.40 & 0.083/ 0.081 \\ \hline
2048 & 80.73/ 79.39 & 13.47/ 14.87 & 71.25/ 70.80 & 165.46/ 16