Red de conocimientos turísticos - Información de alquiler - ¿Qué GPU tiene la velocidad de cálculo AES más rápida?

¿Qué GPU tiene la velocidad de cálculo AES más rápida?

El intercambio de datos entre la GPU y la memoria supone una sobrecarga enorme, por lo que reducir esta sobrecarga general es clave para la optimización. Una característica de la ejecución de GPU es que cada subproceso lee individualmente un bloque de datos de la longitud de un paquete de la memoria y lo vuelve a escribir en la memoria una vez que se completa el cifrado. De esta manera, cada vez que se cifra la longitud de un paquete, es necesario leer y escribir la memoria una vez, y la eficiencia general de IO es baja. De acuerdo con el principio de localidad del programa, si se leen varios grupos adyacentes al mismo tiempo, la eficiencia de IO mejorará enormemente. En el programa GPU anterior, ciframos un paquete en un hilo. Ahora, leemos varios grupos a la vez para cifrarlos. Esto mejora la eficiencia general de IO. Dado que los procesadores con subprocesos también pueden realizar operaciones paralelas, también podemos utilizar tipos de datos de flujo para aumentar aún más el paralelismo. El algoritmo mejorado es el siguiente: Brook:: Stream*datastream; datastream.read(Block[m][n]); AESEncrypt_CPU_Simple(dtatastream.write(Block [m][n]); , Cada hilo lee n grupos adyacentes a la vez para cifrarlos.

Diseño experimental La CPU utilizada en el experimento es GeForce 9800 GTX+, y el software utiliza GUDA2.1 y se ejecuta bajo el sistema operativo WmdowsXP. Los resultados de la aceleración de la CPU del algoritmo AES se muestran en la Figura 1. Como puede verse en la figura, cuando la cantidad de datos es pequeña (menos de 100 kB), el rendimiento de ejecución de la GPU es menor que el de la CPU. Esto se debe a que las características de la GPU son adecuadas para datos de alta densidad. computación paralela, pero no son suficientes cuando la cantidad de datos es pequeña. La utilización de los recursos informáticos de la GPU y la sobrecarga de transmitir datos de entrada desde el host al dispositivo y devolver datos del dispositivo al host no es una buena opción. idea para procesar pequeños volúmenes de datos. A medida que aumenta la cantidad de datos, el rendimiento informático de la GPU será significativamente mayor que el de la CPU. Cuando la cantidad de datos es superior a 1 MB, el factor de aceleración de la GPU casi se duplica. Después de eso, el factor de aceleración es básicamente estable y alcanza un estado de saturación. Esto se debe a que los recursos informáticos de la GPU se pueden utilizar por completo. cantidad de datos es lo suficientemente grande. Dado que la potencia informática de la GPU es mucho mayor que su ancho de banda para acceder a la memoria del dispositivo y el ancho de banda de transmisión de datos entre el host y el dispositivo, la sobrecarga de estas transmisiones de datos en la aplicación se convertirá en un cuello de botella que limitará el rendimiento general de la informática GPU. Es necesario optimizar la GPU para aprovechar al máximo las ventajas informáticas de la GPU. Figura 1 Efecto de la aceleración de GPU en el algoritmo AES

Resultados experimentales de optimización. Mediante la optimización, el efecto de aceleración se puede aumentar en más del doble. Cuando la cantidad de datos es grande, el efecto de optimización es más obvio, como se muestra en la Figura 2.

Conclusión Este artículo presenta el método de implementación del algoritmo de cifrado AES en GPU. Comienza con una introducción al algoritmo AES y luego profundiza en la arquitectura GPU y el modelo de programación CUDA en CUDA. Finalmente, el esquema de diseño se comparó experimentalmente en plataformas GPU y CPU y logró el efecto de aceleración esperado. De hecho, en la mayoría de los casos de aplicación, el potencial de computación GPU de las configuraciones actuales de tarjetas gráficas de computadora no se ha liberado por completo. El método de cifrado presentado en este artículo es la encarnación de la aplicación específica de la computación general de GPU. Aunque la GPU actual representada por CUDA todavía tiene deficiencias como baja precisión y muchas restricciones de programación, con el mayor desarrollo del concepto de procesamiento de flujo paralelo, la tecnología informática general de GPU desempeñará un papel más importante en varios campos.