He ejecutar el código de dinámica molecular (MD) GROMACS en un clúster Linux Ubuntu que consta de nodos que contienen 24 CPUs Intel Xeon. Mi punto de interés particular resulta ser algo sensible a la precisión aritmética de coma flotante, por lo que he tenido que ejecutar GROMACS con doble precisión en lugar de una sola precisión, a pesar del mayor costo computacional de la doble precisión. Entonces, en el clúster, he compilado GROMACS en doble precisión.
Estoy considerando la compra de algunas GPU, ya que puede haber una relación de aceleración ( "aceleración de la GPU") a las CPU. Sin embargo, necesito una GPU que me permita hacer aritmética de doble precisión. ¿Sabe si dicho hardware está disponible comercialmente? Una publicación reciente en la lista de correo GROMACS sugiere que las GPU de doble precisión no están disponibles comercialmente:
El hardware no lo admite [aritmética de doble precisión] todavía AFAIK.
Esta página de Wikipedia parece sugerir que las GPU de doble precisión son poco comunes ya que pueden ser ineficientes:
Las implementaciones de punto flotante en las GPU Nvidia son en su mayoría compatibles con IEEE; Sin embargo, esto no es cierto en todos los proveedores. Esto tiene implicaciones para la corrección que se consideran importantes para algunas aplicaciones científicas. Si bien los valores de coma flotante de 64 bits (flotante de doble precisión) están comúnmente disponibles en las CPU, estos no son compatibles universalmente en las GPU; algunas arquitecturas GPU sacrifican IEEE cumplimiento mientras que otros carecen por completo de doble precisión. Se han hecho esfuerzos para emular de doble precisión los valores de punto flotante en la GPU; sin embargo, la compensación de velocidad niega cualquier beneficio de descargar el cálculo en la GPU en primer lugar.
Esta página de NVIDIA Tesla , al hacer referencia al "rendimiento de punto flotante de precisión doble de pico" en el gráfico, parece sugerir que los cálculos de precisión doble pueden , de hecho, hacerse en sus GPU (aunque a un costo computacional más alto).
Entonces, ¿qué debo creer? ¿Tienes alguna experiencia con este problema?
fuente
Respuestas:
La precisión doble es bastante común en las GPU más nuevas. Por ejemplo, tengo un NVIDIA GTX560 Ti (bastante bajo en lo que respecta a la informática) que no tiene problemas para ejecutar ViennaCL con doble precisión. A partir de aquí (sección 4) , parece que todas las tarjetas NVIDIA de GTX4xx en adelante admiten doble precisión de forma nativa.
Supongo que la información GROMACS simplemente está desactualizada.
fuente
Cada GPU con SM 1.3 (Tesla / GTX2xx) o superior tiene soporte de hardware de doble precisión. Comenzando con la arquitectura Fermi, las variantes Quadro y Tesla tienen un mejor soporte de doble precisión que los modelos Ge Force de consumo.
Lo raro es que / GTX6xx soporte de doble precisión Ge Fuerza Kepler es inferior a la ayuda de Fermi GeForce / GTX5xx para mejorar la diferenciación Tesla en Kepler K20 / K20x. Para agravar la rareza, Tesla K10S tienen el apoyo de doble precisión Ge Force-nivel. Y más recientemente, esto quedó en un completo alboroto por la introducción de la Ge Fuerza GTX Titán, que tiene pleno apoyo de doble precisión y muchos CUDA cuenta sólo está presente en los modelos Tesla hasta ahora. Un GTX Titan cuesta ~ $ 1,000, una oferta de gritos IMO.
fuente
También debe leer el post de seguimiento de la lista de correo GROMACS: http://lists.gromacs.org/pipermail/gmx-users/2013-April/080604.html . Sea o no la implementación de la GPU en el MD es compatible con el uso de doble precisión en un grado comparable es al menos tan importante como la precisión doble está disponible en el hardware.
fuente
De acuerdo con esta discusión , Tesla y Titan GPU son más la adecuada (de la Nvidia GPU) para precisión doble.
Mirando por ejemplo a una lista de GPUs de Nvidia en la Wikipedia (una tabla similar para AMD GPU es aquí ) y comparar la potencia de procesamiento simple y doble precisión (en términos de GFLOPs) se ve que el rendimiento de doble precisión es mucho menor que la mitad de la precisión simple rendimiento para la mayoría de los otros GPU. Por ejemplo para la serie GTX 900, el artículo menciona que el rendimiento de doble precisión es 1/32 de la actuación de precisión simple, mientras que este artículo de Wikipedia dice que para la serie GTX 700, el rendimiento de doble precisión es 1/24 de la precisión simple rendimiento (a excepción de Titán, donde puede ser tan alto como 1/3 de la actuación de precisión simple).
fuente