No sé si es un hallazgo, pero no dejó de impresionarme tener tanta información para poder decidir sobre uno u otro producto:
http://www.anandtech.com
Blog anotador para la tesis de grado sobre sistemas de control de fluidos a lazo cerrado en real-time mediante método ARX usando programación GPU.
miércoles, 2 de marzo de 2011
martes, 1 de marzo de 2011
¿Priorizando relación precio-prestaciones? No siempre.
Estuvimos analizando las tablas comparativas de las distintas placas. El análisis resultante es el siguiente:
Serie Tesla: precios muy elevados. Gama muy alta de placas sin siquiera salida de video (son sólo para procesamiento). Tienen soporte para escalar horizontalmente (más placas) por driver. Cuenta con buena performance para doble precisión (DP) -de aprox. 1/2 respecto de simple precisión- y soporte ECC para la memoria (un problema bastante frecuente en GPGPU es la alta tasa de error en memorias) en varios modelos.
Serie Quadro: uso compartido entre cálculo y gráficas de alta calidad. Al igual que la Tesla, tienen soporte ECC para algunos modelos (aunque el costo es mucho más elevado) y buen manejo de DP.
Serie Quadro FX: muy mala en comparación con la anterior. Orientada a video juegos por completo. Los costos no disminuyen en todos los casos.
Serie GTX500: muy buena relación precio-prestaciones. Son modelos nuevos bastante competitivos con buenas velocidades, cantidad de memoria, ancho de banda, cores CUDA, etc. Lamentablemente no tienen soporte DP de calidad (1/8 respecto de simple precisión. Ver Ref.) ni ECC en ningún caso. La 580 está algo sobrevaluada por ser la más nueva de las placas. La 560 es la más barata y aún así no reduce mucho las características.
Serie GTX400: al parecer va a quedar obsoleta. Prestaciones similares a la serie 500 con costos más elevados. Quejas de usuarios por performance, ruidos molestos ¿? :), etc.
Serie GTS450: muy buena opción económica. El precio es muy bueno para las características generales. Lamentablemente estamos buscando un nivel más alto de paralelismo.
Conclusiones finales:
Tesla descartada por excesivo. Quadro se vuelve muy caro por importación y las tarjetas con ECC de por sí duplican el costo. En cualquiera de los casos no se prevé hacer uso intensivo de DP de cálculo con lo cual se opta por series GTX500 o GTX400.
Dado que la serie 500 posee mejores perspectivas a futuro, nos quedamos con ella. Se descarta la placa 580 por ser la última de la serie y tener un costo excesivo. Finalmente nos quedamos con la GTX570 sobre la 560 por tener mejores prestaciones. Aunque se reconoce que la 560 posee una mejor relación precio-características se opta por el modelo siguiente para tener una PC más competitiva y amortizar durante un lapso más grande (meses) el tiempo invertido en la compra, instalación, puesta a punto, capacitación y pruebas.
miércoles, 23 de febrero de 2011
Buscando la placa
Primera lista de opciones:
Los números en rojo para los GFlops resultan muy extraños en comparación con las placas de gama alta. Dado no hay soporte para doble precisión salvo en gama alta, es de esperar que para comparar con gama alta haya que tomar ambos GFlops (SP y DP) y aplicar un factor de escala.
Las placas Quadro FX580 y el Quadro FX4500 (disponibles en Argentina) se descartan por tener pocas prestaciones.
- Propuestas por en "GPUs, a new tool of acceleration in CFD: Efficiency and reliability on Smoothed Particle Hydrodynamics methods": GTX 260, TESLA M1060, GTX 285, GTX 480
- Propuestas por contactos de España: GTX580, GTX570
- Propuestas por amigos de Argentina: GTX480, QUADRO6000, GTX560
- Propuesta por contactos de Exactas: GT450
Procesadores | Performance | Memoria | ||||||||
| Modelo | Cores | Clock [Mhz] (c/u) | Single [Gflops] | Double [Gflops] | Tam. [GB] | Clock [Ghz] | Ancho de Banda [GB/sec] | Tipo | Precio estimado [us$] | Link |
| TeslaM2050 | 448 | 1.15 | 1030 | 515 | 3 | 1.55 | 148 | GDDR5 ECC | >us$ 2400 (amazon) | Nvidia |
| TeslaM1060 | 240 | 1.3 | 933 | 78 | 4 | 0.8 | 102 | GDDR3 | >us$ 1600 (amazon) | Nvidia |
| Quadro5000 | 352 | 0.513 | 718 | 359 | 2.5 | 0.75 | 120 | GDDR5 ECC | us$ 1800 (amazon) | Nvidia Wiki |
| Quadro4000 | 256 | 0.475 | 486 | 243 | 2 | 0.7 | 89 | GDDR5 | us$ 810 (amazon) | Nvidia Wiki |
| GTX580 | 512 | 1.5 | 1581 | 1.5 | 2 | 192 | GDDR5 | us$ 790 | Nvidia Wiki | |
| GTX480 | 480 | 1.4 | 1344 | 1.5 | 1.8 | 177 | GDDR5 | us$ 650 | Nvidia Wiki | |
| QuadroFX1800 | 64 | 0.550 | 264 | 0.768 | 0.8 | 38.4 | GDDR3 | us$ 600 | Nvidia Wiki | |
| GTX570 | 480 | 1.46 | 1405 | 1.28 | 1.9 | 152 | GDDR5 | us$ 560 | Nvidia Wiki | |
| GTX560 | 384 | 1.64 | 1263 | 1 | ? | 128 | GDDR5 | us$ 410 | Nvidia Wiki | |
| GTS450 | 192 | 1.5 | 601 | 1 | 1.8 | 57.7 | GDDR5 | us$ 220 | Nvidia Wiki | |
Los números en rojo para los GFlops resultan muy extraños en comparación con las placas de gama alta. Dado no hay soporte para doble precisión salvo en gama alta, es de esperar que para comparar con gama alta haya que tomar ambos GFlops (SP y DP) y aplicar un factor de escala.
Las placas Quadro FX580 y el Quadro FX4500 (disponibles en Argentina) se descartan por tener pocas prestaciones.
Cambio de planes: sin sensores, con imágenes
Al parecer la solución con sensores podría traer muchas complicaciones:
- son necesarios en cantidad con lo cual la instalación demanda tiempo
- son muy intrusivos, el fluido puede variar del comportamiento original
- el ruido que conllevan puede ser muy elevado en momentos donde los actuadores de plasma estén funcionando
Para que la experiencia sea realizable, se opta por tomar y procesar imágenes del fluido descartando otro tipo de sensores. Del procesamiento se obtendrá la información requerida, como ser el campo de velocidades, y se realizará el feedback que necesita el controlador.
Pero el empleo de grandes imágenes como origen de datos requiere de mayor tiempo de CPU aplicado a su procesamiento. Dado que se plantea realizar un sistema real-time no se puede dejar de tomar este punto como un futuro problema. La posible solución recae en paralelizar el procesamiento de las imágenes, dividiéndolas y obteniendo información rápida para actuar en el lazo de control. Para poder aplicar el nivel de procesamiento indicado será necesario utilizar programación de GPU. Ver http://en.wikipedia.org/wiki/GPGPU.
Si bien esto no es parte de la tesis original dá un vuelco completo al posible título. Además, es necesario elegir el hardware adecuado e instalarlo. Esto posiblemente lleve algunas semanas.
El problema inicial
Lugar: Laboratorio de Fluidodinámica - Facultad de Ingeniería - UBA
Participantes:
Problema: realizar un sistema que controle de forma automática el fluido bajo cierta experiencia pautada. Se plantea el uso de un experimento prototípoco con un cilindro en el tunel de viento con el objetivo de reducir las turbulencias en la estela que se forma.
Solución: los sistemas de lazo cerrado real-time sobre fluidos no suelen implementarse con buenos resultados, básicamente por sus problemas de performance. Se desea intentar este tipo de solución con la ayuda de una placa gráfica que permita el speed-up suficiente para montar la experiencia con buenos resultados.
El laboratorio cuenta con una experiencia de simulación realizada en colaboración por Ada Camilleri y Lionel Mathelin sobre un sistema de control de fluido basado en la identificación del sistema con un modelo ARX. La idea es llevar esta simulación a la implementación real de la experiencia.
Participantes:
- Guillermo Artana
- Ada Camilleri
- Thomas Duriez
- Resto del personal del laboratorio.
Problema: realizar un sistema que controle de forma automática el fluido bajo cierta experiencia pautada. Se plantea el uso de un experimento prototípoco con un cilindro en el tunel de viento con el objetivo de reducir las turbulencias en la estela que se forma.
Solución: los sistemas de lazo cerrado real-time sobre fluidos no suelen implementarse con buenos resultados, básicamente por sus problemas de performance. Se desea intentar este tipo de solución con la ayuda de una placa gráfica que permita el speed-up suficiente para montar la experiencia con buenos resultados.
El laboratorio cuenta con una experiencia de simulación realizada en colaboración por Ada Camilleri y Lionel Mathelin sobre un sistema de control de fluido basado en la identificación del sistema con un modelo ARX. La idea es llevar esta simulación a la implementación real de la experiencia.
martes, 1 de febrero de 2011
Los primeros pasos
Pasos para hacer una tesis de Ingeniería en Informática:
- juntar coraje
- buscar un tema. Admite diversas variantes: teórica, de aplicación ingenieril o de aplicación científica. Me quedé con la última.
- tomar nota de los posibles laboratorios a visitar. Lleva un tiempo leer las reseñas de todos: Laboratorios en FIUBA
- recorrer los laboratorios que te resulten más interesantes preguntando por las experiencias y líneas de investigación que tienen.
- tomar nota de todo.
- pedir algunas referencias o papers para investigar las mejores alternativas.
- optar por una que resulte interesante, la gente del laboratorio esté disponible y parezca alcanzable.
- conseguir un tutor
- arrancar
- armar un blog
Suscribirse a:
Entradas (Atom)