Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





¿Cambio en el mundo de la programación gráfica?

Iniciado por XÑA, 01 de Octubre de 2009, 10:23:54 AM

« anterior - próximo »

XÑA

Parece que NVidia acaba de sacar Fermi que es un..¡Larrabee a los grande!. Es decir, 512 cores de 'general purpose'. Evidentemente 512 cores son muchos más de los que prometía Larrabee, y también es evidente que pondiendo más cores se 'dará más prisa', pq es una arquitectura escalable. Con esto quiero decir que si se consigue que se programa para esta tarjeta, el tema tiene futuro.

La cuestión aquí es que desaparece el concepto de tarjeta gráfica para convertirse en tarjeta de procesamiento en paralelo. Aunque he mirado muy por encima el tema de la programación en paralelo, la cosa es bastante complicada. Aunque hay cosas que son inherentemente en paralelo como...¡ray tracing! Añadamos a esto que Nvidia tiene su versión GPU de motor Ray-Tracing y podemos estar en un cambio generacional, pero no sólo de cómo se verán los juegos sino de cómo se programan.

La cuestión es ver si Nvidia conseguirá meter esa gráfica en el mundillo y si conseguirá que se programe para ella. Si la velocidad de cálculo es importante, se acabaron las versiones de DX para gráficos, se acabaron los límites en los engines. A partir de ahora, el engine se programa enteramente sobre la tarjeta, y puede hacer teselación, filtrado...todo lo que necesite. Ya no hará falta esperar a una nueva revisión de DX!!

¿qué pensais del tema?

gdl


Personalmente espero que esos procesadores en paralelo den el "salto" a la placa base. Es decir, que dejemos ya de hablar de CPU por un lado y de GPU por otro. No es sólo el raytracing lo único que puede ser paralelizable y es una tontería desperdiciar la capacidad de cómputo que tienen las GPU en otras áreas. En ese sentido el cambio no está siendo en la programación gráfica, el cambio está siendo en toda la informática. Pasamos de la era secuencia a la era paralela. ¡Agárrense señores que vienen curvas!

XÑA

Bueno, eso lo tienes ya con las procesadores con múltiples cores. Pq la programación en paralelo tiene TELA. Ahora parece que tendremos un coprocesador matemático, pero que puede hacer muchas más cosas.

De todas formas, no me imagino un Excel o un Word utilizando CUDA. Creo que hay que poner a cada cosa en su sitio, y parece que poner la tarjeta como si fuera un co-procesador es una buena opción.

Vicente

Está claro que la programación multi-hilo es el futuro, por eso la gente se está sacando librerías como ParallelFX y similares, aunque sinceramente creo que va a tocar empollar un montón incluso con librerías y ayudas que nos intenten hacer el parto menos doloroso.

XÑA

Bueno Vicente, el Parallel.For de .Net es una maravilla para estas cosas  :P

En fin, la ventaja creo que es que al fin no dependeremos del API. Como con la CPU, ¡podremos hacer lo que queramos!

tamat

No creo que te "olvides" de DX, porque si usamos OGL o DX no es solo porque esté acelerado por hardware, es tambien porque nos ahorra tener que programar un raster desde cero, con todas las fases del pipeline que conlleva, que no son pocas.

Ademas seguiremos dependiendo del API que nos de acceso a ese hardware, que en cierto modo es lo que hace DX o OGL. Porque habrá distintas versiones del hardware, y querremos abstraernos de eso.

En parte es lo que pasa con OpenGL ES, que van quitando cosas y cada vez tienes que currartelas más tú.

Total, que al final creo que la solución será casarse con un motor que se encargue de abstraer todo eso, o dejar para los más frikis de la programación lo de crear su raster desde cero.
Por un stratos menos tenso






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.