¿Construiría un sistema multi-GPU para el aprendizaje profundo con GTX Titan X o Tesla K40 / K80? ¿Cuáles son los pros y los contras?

Especificaciones:
GeForce Titan X – Características: 3072 núcleos, 12 GB de RAM, 336 GB / s, bus de 384 bits, Boost Clock: 1075MHz, Core Clock 1000MHz, 7GHz DDR5, 6.2 TFLOPS SP
Tesla K40 – Características: 2880 núcleos, 12 GB de RAM, 288 GB / s, bus de 384 bits, Boost Clock: 810-875MHz, Core Clock: 745MHz, 6GHz GDDR5, 4.29 Tflops SP

Pros de Geforce Titan X:
-Precio barato
-Debido a que hay soporte gráfico, puede visualizar sus datos procesados ​​fácilmente
-Tiene la última arquitectura de Maxwell, mientras que Tesla K40 tiene la arquitectura kepler (No estoy seguro, pero Nvidia podría no lanzar las GPU Tesla de la arquitectura de Maxwell)
-Más núcleos de GPU que Tesla K40

Pros de Tesla K40:
– Está dirigido a estaciones de trabajo y servidores
– Los aceleradores Tesla ofrecen el mejor rendimiento del clúster, mientras que los trabajos se completan con un 100% de confiabilidad y capacidad de administración.
– Más cantidad de unidades de doble precisión y, por lo tanto, mejora el rendimiento de doble precisión
– Algunas características exclusivas de Tesla incluyen:

  • NVIDIA GPUDirect RDMA para rendimiento InfiniBand
  • Hyper-Q para MPI (Hyper-Q para CUDA Streams es compatible con GeForce GTX TITAN)
  • Protección ECC para todos los registros y memorias internas y externas.
  • Herramientas compatibles para la gestión de GPU y clúster, como Bright Computing, Ganglia.

Palabra final:
-Puede decidir qué desea confiabilidad o rentabilidad
-Basado en las especificaciones para operaciones de precisión única, Geforce Titan X dará más rendimiento
-El soporte de ECC que no está disponible con GeForce Titan X no afectará a las aplicaciones de aprendizaje profundo (es mi suposición, puedes verificar más sobre esto y hacernos saber a todos)

Debes usar las GPU GTX Titan X. Son mucho más rápidos para el aprendizaje profundo y tienen la misma capacidad de memoria. No hay contras.

Puede preguntar “¿Cuál es el trato con K40 / K80? ¿Son peores que un GTX Titan X y tan caros?”, Esto es así porque las K40 / K80 son tarjetas diseñadas para resolver sistemas de ecuaciones diferenciales (parciales) para ingeniería y aplicaciones físicas y esto requiere una precisión muy alta para encontrar soluciones utilizables.

Para esta alta precisión, necesitará FLOPS de doble precisión y corrección de memoria. Las tarjetas Tesla tienen un rendimiento adicional de doble precisión (costoso) y corrección de memoria (muy costoso) para lidiar con esto. Tanto la precisión doble como la corrección de memoria no son necesarias en el aprendizaje profundo.

Todos los puntos importantes ya han sido contados por las otras respuestas. Una cosa que me gustaría agregar es este documento técnico [1] de AMAX. Esto analiza el rendimiento entre GTX TITAN X (Maxwell), GTX 980 Ti, K40, K80, etc. Ahora que ha llegado Pascal, claramente no hay duda de que TITAN X (Pascal) o GTX 1080 sería la mejor alternativa.

Notas al pie

[1] https://www.amax.com/enterprise/

Yo iría con Titan-X hasta el final. Hay mucha literatura sobre el hecho de que no se requiere ECC en casi nada excepto en sistemas críticos (piense en el piloto automático de avión, por ejemplo). La mala memoria / GPU se puede detectar fácilmente con un software de validación y eso lo deja a merced de los rayos cósmicos, que casi nunca suceden, y si tienen la posibilidad de que provoque una conclusión incorrecta de la decisión, es increíblemente bajo.

Hay muchas compañías que venden soluciones GeForce totalmente validadas / garantizadas, tanto en configuraciones de escritorio como de clúster, e incluso NVIDIA las sugiere en su propio Digits Dev Box: NVIDIA® DIGITS ™ DevBox

Aquí hay un buen ejemplo de una compañía que vende GeForce (Titan-X, etc.) en un kit de clase de servidor y ofrecen garantía y validación completas: Deep Learning GPU Solutions y Spectrum TXN003-128N – Exxact Corp

Y cosas como la dinámica molecular (que era un campo que usaba GPU desde antes de CUDA) recomiendan GeForce para casi todo: Soporte de GPU NVIDIA Amber (PMEMD)

Mi consejo sería ir con GeForce (Titan-X), disfrutar del rendimiento adicional, no perder el sueño por no tener ECC. Si realmente le preocupa ECC, simplemente ejecute todo dos veces: dado Titan-X menos de la mitad del precio de las tarjetas Tesla, aún ahorrará dinero al hacerlo. Compre en una compañía que tenga experiencia con las soluciones de GPU y le ofrezca una garantía completa más validación numérica y obtenga soluciones basadas en GeForce. El mismo consejo se aplica cuando se lanzan las versiones ‘tesla’ de las tarjetas Maxwell: adhiérase a las soluciones GeForce validadas y garantizadas y no se sentirá decepcionado.

No he tenido ninguna experiencia en hacerlo yo mismo, pero recientemente leí un artículo en línea con las opiniones de otra persona: qué GPU (s) obtener para el aprendizaje profundo: mi experiencia y consejos para usar GPU en el aprendizaje profundo

Estoy seguro de que también hay desarrollos más recientes.

Una advertencia: el aprendizaje profundo con múltiples GPU depende del software que utilice para el aprendizaje profundo. Por lo tanto, investigue el software que desea usar y luego decida qué comprar. Alternativamente, escriba el software usted mismo =)

PALABRA DE ADVERTENCIA: Muy poco probable que este Jim Boeing EXISTE. Ningún perfil de LinkedIn, nadie en NVIDIA tampoco, parece que esta es una persona ficticia creada para hacer una cosa en todas las publicaciones, promocione la versión Exxact Corporation de DevBox de NVIDIA.

Si busca en Google, verá que “Jim” solo aparece en las publicaciones que promocionan la versión de Exxact de NVIDIA® DIGITS ™ DevBox.

Respuesta persuasiva y fuente de mala reputación (¿inexistente?).

Una de las diferencias entre ellos es que los Titanes se enfrían activamente mientras que los K40 y K80 de Tesla se enfrían pasivamente. Por lo tanto, los primeros son adecuados en estaciones de trabajo y servidores, mientras que los segundos requieren servidores que proporcionen la refrigeración y ventilación adecuadas. Por otro lado, este último le brinda un cómputo mucho más denso, como aquellos con 8 K80 (16 GPU) en un solo servidor.

Definitivamente, el Titan X a menos que necesite ECC o doble precisión (que el aprendizaje profundo normalmente no debería requerir).

Si su aplicación / carga de trabajo puede caber en 6 GB, también puede considerar la GTX 980Ti, que sería aún más económica. Las tarjetas GTX 980Ti personalizadas son realmente más rápidas que Titan X.

Titan x es mejor para redes neuronales convolucionales profundas. El aprendizaje profundo es materia en el extranjero. En general, las tarjetas tesla son para doble precisión, y Titan x para una precisión única.