Esoteric pull y esoteric push: dos simples esquemas de transmisión en el lugar para el método de Boltzmann de red en GPU
Autores: Lehmann, Moritz
Idioma: Inglés
Editor: MDPI
Año: 2022
Acceso abierto
Artículo científico
2022
Esoteric pull y esoteric push: dos simples esquemas de transmisión en el lugar para el método de Boltzmann de red en GPU
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Sistemas
Palabras clave
Novela
Segura en hilos
Método de Boltzmann en redes
GPUs
Esoteric Pull
Esoteric Push
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 18
Citaciones: Sin citaciones
Presento dos novedosos esquemas de transmisión en su lugar seguros para el método de Boltzmann en redes (LBM) en unidades de procesamiento gráfico (GPUs), denominados Esoteric Pull y Esoteric Push, que hacen que el LBM solo requiera una copia de las funciones de distribución de densidad (DDFs) en lugar de dos, reduciendo significativamente la demanda de memoria. Estos se basan en la idea del esquema Esoteric Twist existente, para transmitir la mitad de las DDFs al final de un núcleo de colisión de transmisión y la mitad restante al principio del siguiente, y ofrecen las mismas propiedades beneficiosas sobre el esquema AA-Pattern: ancho de banda de memoria reducido debido a los límites de rebote implícitos y la posibilidad de intercambiar punteros entre pasos de tiempo pares e impares. Sin embargo, las direcciones de transmisión se eligen de manera que el algoritmo pueda implementarse en aproximadamente una décima parte de la cantidad de código, como dos bucles simples, y es compatible con todos los conjuntos de velocidades y adecuado para la generación automática de código. El rendimiento de los nuevos esquemas de transmisión se incrementa ligeramente respecto a Esoteric Twist debido a una mejor coalescencia de memoria. Las pruebas de referencia en una amplia variedad de GPUs y CPUs muestran que, para la mayoría de las GPUs dedicadas, el rendimiento difiere solo insignificativamente del esquema One-Step Pull; sin embargo, para las GPUs y CPUs integradas, el rendimiento mejora significativamente. Los dos algoritmos propuestos facilitan en gran medida la modificación del código existente para la transmisión en su lugar, incluso con extensiones ya implementadas, como se demuestra aquí para la implementación de LBM de Superficie Libre FluidX3D. Su simplicidad, junto con sus características de rendimiento ideales, pueden permitir una adopción más generalizada de la transmisión en su lugar en los códigos de LBM para GPUs.
Descripción
Presento dos novedosos esquemas de transmisión en su lugar seguros para el método de Boltzmann en redes (LBM) en unidades de procesamiento gráfico (GPUs), denominados Esoteric Pull y Esoteric Push, que hacen que el LBM solo requiera una copia de las funciones de distribución de densidad (DDFs) en lugar de dos, reduciendo significativamente la demanda de memoria. Estos se basan en la idea del esquema Esoteric Twist existente, para transmitir la mitad de las DDFs al final de un núcleo de colisión de transmisión y la mitad restante al principio del siguiente, y ofrecen las mismas propiedades beneficiosas sobre el esquema AA-Pattern: ancho de banda de memoria reducido debido a los límites de rebote implícitos y la posibilidad de intercambiar punteros entre pasos de tiempo pares e impares. Sin embargo, las direcciones de transmisión se eligen de manera que el algoritmo pueda implementarse en aproximadamente una décima parte de la cantidad de código, como dos bucles simples, y es compatible con todos los conjuntos de velocidades y adecuado para la generación automática de código. El rendimiento de los nuevos esquemas de transmisión se incrementa ligeramente respecto a Esoteric Twist debido a una mejor coalescencia de memoria. Las pruebas de referencia en una amplia variedad de GPUs y CPUs muestran que, para la mayoría de las GPUs dedicadas, el rendimiento difiere solo insignificativamente del esquema One-Step Pull; sin embargo, para las GPUs y CPUs integradas, el rendimiento mejora significativamente. Los dos algoritmos propuestos facilitan en gran medida la modificación del código existente para la transmisión en su lugar, incluso con extensiones ya implementadas, como se demuestra aquí para la implementación de LBM de Superficie Libre FluidX3D. Su simplicidad, junto con sus características de rendimiento ideales, pueden permitir una adopción más generalizada de la transmisión en su lugar en los códigos de LBM para GPUs.