Hola :)
2016-09-14 14:50 GMT+03:00 Juan Erbes
El día 14 de septiembre de 2016, 5:22, Rafa Griman
escribió: Wenas :)
2016-09-14 6:47 GMT+03:00 Carlos Ayala
: 2016-09-13 16:51 GMT-05:00 Rafa Griman
: [...]
Obviamente, no todo son ventajas: - CUDA es propietario y NO es multiplataforma como OpenCL - CUDA es complicado - CUDA no es un estándar
[...]
haciendo un poco de off-topic. Justo escuche CUDA en un proyecto de investigación sobre Deep Learning acerca de música. =|
Es lo más "in"/"trending"/"you name it" del momento. Ahora todo el mundo hace Deep Learning (salvo el Ser Humano >;)
Se usa para todo y en todos los campos ... o eso quieren. Ya sabes: "cuando tienes un martillo en la mano ... todo son clavos". Con eso no quiero decir que Deep Learning no sea útil, sino que es la última moda y todo el mundo quiere (o dice) que usan/hacen Deep Learning.
Pero primero lo primero, lo escuché en este podcast [Software Engineering Daily - Music Deep Learning with Feynman Liang](http://softwareengineeringdaily.com/2016/09/02/music-deep-learning-with-feyn...) el repositorio de su proyecto [GIT - Bach Bot](https://github.com/feynmanliang/bachbot) y la web de su proyecto [Bach Bot Challenge](http://bachbot.com/#/?_k=smfllq)
En el repositorio incluyen la imagen docker para CUDA 7.5 =| Si lo están usando, algo de bueno habrá de tener.
Como decía más arriba, CUDA no es malo. Lo que ocurre es que tiene algunas cosas a tener en cuenta (ver más arriba). Lo cierto es que CUDA ofrece mejor rendimiento que OpenCL, OpenACC y/o las Intel Phi y eso es lo que ha llevado a la gente a CUDA. CUDA fue el primero en salir y tienes muchas herramientas d edesarrollo, muchas librerías, soporte para muchos lenguajes de desarrollo, ... En segundo lugar está Intel con sus Phi ya que tiene muchas herramientas, es compatible con x86 (en teoría basta con recompilar ... la realidad es que tienes que paralelizar el código si quieres realmente mejorar el rendimiento, igual que con CUDA), pero el rendimiento es menor. En último lugar está AMD porque carecía de las herramientas de desarrollo ... hasta ahora que ha sacado lo de GPUOPEN. Tengo los dedos cruzados esperando que ganen algo de terreno/mercado.
Hay mucho SW de terceros ya migrado a CUDA y ya sabes: da pereza cambiar/migrar/soportar OpenCL, es costoso económicamente mantener ambas opciones, si el rendimiento es peor ... el cliente no lo usará y es mala prensa, han firmado acuerdos que tendrán cláusulas determinadas, ... Por último, el cliente oye CUDA y NVIDIA en Internet, AMD casi no se oye ... ¿qué va a pedir el cliente? Lo que se oye.
Hoy en día, los que entendemos de hardware, y tambien los fabricantes de computadoras de escritorio, buscamos armar equipos con buen rendimiento, al mas bajo costo posible, terminamos eligiendo un APU de AMD.
Bueno, eso depende de la tarea que vaya a realizar el equipo. La FPU de Intel ofrece mejor rendimiento que la de AMD ;) Si el usuario no sabe de IT ni de HW, comprará lo que ve en las tiendas: Intel. Por desgracia lo que más se ve en las tiendas es la pegatina de "Intel Inside". Muy pocos usuarios dedican tiempo a buscar en Inet comparativas y benchmarks, eso lo hacemos los que nos dedicamos a esto y nos gusta. Si el usuario quiere jugar en el PC a juegos modernos ... yo no iría por una APU, iría a por una GPU en PCIe, que luego pueda ampliar si sale un nuevo juego con más requerimientos gráficos. Luego tienes usuarios que te piden opinión ... eso es otro tema. Ahí ya, lo que se deje convencer o lo que confíe en ti ;)
Pero parece ser, que quienes diseñan el software no se enteran de eso, y te quieren obligar a usar librerías y drivers de Nvidia, cuando en el hardware de tu computadora, no hay ni un solo chip de Nvidia.
Resuesta del fabricante: "Tienes dos opciones: comprar una NVIDIA ... o utilizar otro SW".
Habría que echar un vistazo a los tiempos en que las granjas de renderizado, sebasaban en procesadores AMD64: http://www.linuxjournal.com/article/6783
Pero con la diferencia en cantidad de nucleos entre GPU y CPU, obviamente, se han decantado por los GPU con el correr de los años.
Ojo !! El render (igual que otras aplicaciones/procesos) no siempre se ve beneficiado por correr en la GPU !!! Recordemos que las GPUs son procesadores vectoriales. En un render hay muchas cosas a tener en cuenta y muchos pases. Un pase se puede ver beneficiado y otro no o un frame se ve beneficiado y otro no. No es sencillo migrar a GPUs.
Pero una cosa es una granja de renderizado, y otra cosa es una computadora de escritorio. A la hora de que una empresa desarrolla software para computadoras de escritorio, debería tener en cuenta cual es el hardware que tienen esas computadoras de escritorio.
Para eso se basan en la demanda/market share. Por ahora, NVIDIA se "lleva el gato al agua" en PC. Las consolas son otra historia (otro mercado).
No por nada, los fabricantes de consolas de juegos de primeras marcas eligen los APUs de AMD.
Eso es cierto, pero las consolas NO son PCs. Son otro mercado y así lo consideran tanto AMD como NVIDIA. Y sí, AMD tiene mayor market share en consolas.
Pero sin embargo, si una busca cual es el hardware recomendado para una estación de renderizado casera, el GPU parece ser lo que menos importa: http://blog.digitaltutors.com/building-a-home-render-farm-without-breaking-t...
Cosas varias ...: - ese post es algo antiguo (2 años). Ese tiempo en IT es una eternidad. - ¿el motor de render que utilizo saca provecho de las GPUs? Si la respuesta es NO ... pues a tirar de CPUs. - ¿sé cuándo me viene bien usar la GPU? O, dicho de otra manera, ¿el software que uso lo hace "automágicamente"? Si el usuario tiene que andar configurando, instalando librerías, ... mal vamos. - ¿puedo renderizar y visualizar al mismo tiempo? Hay modelos de GPU que no lo permiten ... - ¿voy a sacarle todo el provecho a la GPU? O bien, ¿es una inversión o un gasto? - ¿me sale mejor comprar 4 PCs sin GPU? Si tengo un PC con una GPU renderizando ... lo tengo "secuestrado" durante el render. Si tengo 4 PCs, mientras 3 renderizan el 4º lo uso para seguir trabajando - hay (o había) motores de render/aplicaciones que hacen/hacían uso de la GPU para previsualización en tiempo real, pero no hacen/hacían render final - ... Respecto al HW recomendado ... depende de todas las preguntas anteriores y otras como: ¿qué recomienda el fabricante de SW que estoy utilizando? Y otras tantas. Yo, personalmente, preferiría que la gente utilizase AMD (CPU, GPU y/o APU), pero hay veces que no es la mejor solución ... y no voy a forzar a nadie a usar algo que no le conviene ;) MHO ... BTW, no se ha mencionado nada de OpenPOWER y los POWER9 ... auténticas bestias ... y ARM viene dando guerra con cosas interesantes (pena que AMD ha paralizado sus proyectos basados en ARM hasta que salgan Polaris y Zen). ¿FPGAs? Tienen su utilidad también ... y dan mucho mejor rendimiento que las GPUs a mucho menor precio en ciertas áreas, pero hay que (saber) programarlas ;) Rafa -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org