Estaba viendo hace poco un gran video de Computerphile sobre contraseñas en el que Mike Pound se jacta de que la supercomputadora de su compañía tiene 4 tarjetas gráficas (Titan X, para ser exactos).
Como entusiasta de la simulación numérica, sueño con construir un escritorio únicamente para el trabajo de simulación. ¿Por qué Mike Pound mide la capacidad computacional de su computadora con sus tarjetas gráficas y no con sus procesadores? Si estuviera construyendo una computadora, ¿qué artículo debería importarme más?
Respuestas:
Mike Pound obviamente valora la capacidad computacional de las tarjetas gráficas por encima de la capacidad computacional de las CPU.
¿Por qué? Una tarjeta gráfica está compuesta básicamente por MUCHOS procesadores simplificados que se ejecutan en paralelo. Para algunos trabajos de simulación, gran parte del cálculo puede paralelizarse fácilmente y procesarse en paralelo en los miles de núcleos disponibles en las tarjetas gráficas, lo que reduce el tiempo total de procesamiento.
¿Qué artículo debería importarme más? Realmente depende de la carga de trabajo que le interese y de cómo esa carga de trabajo puede / es paralelizada para su uso en una tarjeta gráfica. Si su carga de trabajo es un conjunto vergonzosamente paralelo de cálculos simples, y el software está escrito para aprovechar las tarjetas gráficas disponibles, entonces más tarjetas gráficas tendrán un impacto en el rendimiento mucho mayor que más CPU (dólar por dólar).
fuente
Revisa https://developer.nvidia.com/cuda-zone (y google cuda nvidia para obtener más información). La arquitectura cuda y las tarjetas gráficas de alta gama son bastante utilizadas para las supercomputadoras de escritorio. Por lo general, puede armar una caja de varios Tflop por menos de $ 10K (usd) utilizando componentes de caja blanca listos para usar.
Entonces...
... cuda es, con mucho, el mejor juego de la ciudad para ti. Tal vez intente preguntar de nuevo en /scicomp// u otro sitio web de stackexchange, más directamente involucrado con este tipo de cosas.
(Por cierto, supongo que se siente cómodo con la idea de que estamos hablando de programación masivamente paralela aquí, por lo que es posible que deba familiarizarse con ese paradigma para el diseño de algoritmos).
fuente
Desde un punto de vista práctico deberías probablemente prestar mucha atención a la placa base y la CPU dada la relativa dificultad de actualización en comparación con la GPU. Después de la compra es un momento horrible para descubrir que no tiene espacio para cuatro GPU o un procesador lo suficientemente rápido como para mantenerlos a todos ocupados.
También debe tener en cuenta que el rendimiento de la GPU se informa con mayor frecuencia en FLOP de precisión simple, y cae bastante para la doble precisión. Si necesita la precisión adicional en sus simulaciones, terminará muy por debajo de la velocidad anunciada.
A las carreras de ingeniería de software
Hay realmente dos preocupaciones principales desde el punto de vista del software, el cuello de botella de Von Neumann y el modelo de programación. La CPU tiene bastante buen acceso a la memoria principal, la GPU tiene una gran cantidad de memoria más rápida a bordo. No se desconoce que el tiempo en que los datos entran y salen de la GPU niega por completo cualquier ganancia de velocidad. En general, la CPU es un ganador para el cómputo moderado en grandes cantidades de datos, mientras que la GPU sobresale en el cómputo pesado en pequeñas cantidades. Todo lo cual nos lleva al modelo de programación.
A un alto nivel, el problema es el antiguo y honrado debate MIMD / SIMD. Los sistemas de instrucción múltiple / datos múltiples han sido los grandes ganadores en informática general y comercial. En este modelo, que incluye el SMP, existen múltiples procesadores que ejecutan cada uno su propio flujo de instrucción individual. Es el equivalente informático de una cocina francesa, donde se dirige a un pequeño número de cocineros expertos para completar tareas relativamente complicadas.
Los sistemas de instrucción única / datos múltiples, por otro lado, se parecen más a una gran sala llena de empleados encadenados a sus escritorios siguiendo las instrucciones de un controlador maestro. "¡Todos AGREGEN las líneas 3 y 5!" Fue utilizado en su forma pura en el ILLIAC y en algunos sistemas "mini-super", pero se perdió en el mercado. Las GPU actuales son un primo cercano, son más flexibles pero comparten la misma filosofía general.
Para resumir brevemente:
fuente