Cuelgo esta información que he posteado en el otro foro por que me parece muy interesante y aclara muchas dudas sobre One.
Me he encontrado estos dos hilos muy interesantes sobre la estructura de la One. Están realmente muy bien explicados y muestran una serie de datos que mucha gente no se ha percatado y aclaran profundamente por que MS ha diseñado la One de esta manera y su futuro rendimiento.
Los pongo en Spoilers ya que son extensos y además en alguno de ellos los datos son debatidos por otro forero que al final se queda sin argumentos.
Mi enhorabuena al forero FlashBackMan360 ya que ahora ademas de conocer nuevos datos que desconocía completamente, se me han resuelto algunas dudas que tenía sobre la One.
NextGen GPU DirectX12 API Nativo vs Modern GPU Direct3D12 Driver CONCLUSION FINAL
Spoiler:
FlashBackMan360[/URL] escribió:
¿Fue Microsoft forzada a sacar una máquina de juegos antes de lo previsto, estando pronosticada para finales de 2014?
En el Roadmap de éste post, encontraréis ésta respuesta entre otras, tales como una leve comparativa de arquitecturas entre máquinas, el por qué del sufrimiento con algunos juegos Third Party en XBox One en su salida, y el por qué juegos como Ryse o Forza están muy por encima del resto, la explicación a los SDK de desarrollo primerizos con DUAL-VGA. por qué elegir DDR3+esRAM en canal troncal... etc.
Con la salida a la luz del secreto a voces mejor guardado por parte de Microsoft la gente está empezando a entender lo que éstos tenían entre manos. Vamos a tratar de explicar la confusión generada entre API's y arquitecturas, como siempre se intenta, lo haré todo lo legible que pueda para los que necesitan la información desmenuzada.
https://twitter.com/XboxP3/status/446873135594225664[/URL]
Algunas características de DX12 están presentes desde el inicio de la máquina, "léase" Ryse y Forza, éstos usaban una alpha del controlador nativo de DX12 para XBox One, que como sabemos, es completamente nativo en la máquina de Microsoft.
Muchos de vosotros recordaréis que en febrero existió una actualización de SDK'S por parte de Msoft hacia su máquina, donde múltiples desarrolladores exclamaron que se había mejorado mucho la gestión de recursos, abordando 1080/60 facilmente. Ésto representa la evolución de los drivers alpha de los estudios first party de Msoft, a la base "beta" para third partys. La implementación real y completa existirá en 2015. Es por esto y no por otra cosa por la que hasta hace poco se ha usado para las terceras compañías el driver "mono" una API de 32 bits incapaz de hacer trabajar a la máquina en DP (doble precisión) ya explicada en otros post.
http://www.3djuegos.com/comunidad-foros/tema/28899916/0/supercomputer-based-soc-apu-basado-en-super-computacion-tecnologia-2014/[/URL]
Además, las middleware, simplemente no llegaban a tiempo de estar preparadas. Los motores gráficos requieren para la implementación de DX12 de forma nativa, que trabajen con estructuras de 64 bits, los mas avispados habréis notado que todas las actualizaciones de motores gráficos en la GDC trabajan a 64 bits y DX12 nativo. Conociendo las arquitecturas de la X1 y la PS4: La GPU de XBox One no es una GPU GCN en toda regla y norma, está modificado de forma masiva,
http://www.3djuegos.com/comunidad-foros/tema/29226108/0/directx12-next-gen-gpu-x1-2014-vs-modern-gpu-ps4-2012/[/URL]
microsoft requería una GPU multitarea desarrollada para aplicaciones nativas de la futura API DX12. Originalmente hicieron varios modelos de SOC con los correspondientes SDK apuntalando en ella una GPU DUAL discreta y separada de forma nativa por naturaleza (físicamente) pero Microsoft y AMD llegaron a un acuerdo de 3 Billones de dolares para crear un diseño completamente nuevo que no encareciera la consola y que no hiciese que fuera un tostador en tema de temperaturas.
El diseño del GPU está tomado desde la base de un núcleo GCN efectivamente, ya que con ello permite que el núcleo maneje los dos hilos de hardware de forma lógica y DUAL que básicamente significa que tenemos un GPU FÍSICIO con dos tareas de renderizado paralelas con la posibilidad de gestionar tareas y recursos asignados de forma externa a bufers o otros procesadores de apoyo, maximizando la multi tarea. Se diseñó el concepto de alta y baja prioridad para maximizar las fluctuaciones de demanda de recursos que hacen que el 60% del tiempo, CPU'S y GPU'S estén esperando peticiones de proceso estándar. Lo que significa que XBox One tiene un GPU plenamente pensado para optimizar y maximizar el rendimiento del mismo.
Uno se pone a pensar en las arquitecturas simples actuales derivadas del x86 y se da cuenta que el audio que se procesa en la actualidad desde la GPU está empezando a tomar una altura y unas características que hacían consumir muchas operaciones por ciclo, por lo que Microsoft pensó en hacer un bloque a parte y generar con tecnología "tensilica" un DSP y así evitar el gasto de cómputo extra. Esto es una descarga muy importante, ya que en la actualidad el audio está tomando alrededor de 0,200tflops. Microsoft con éste movimiento quería que el la posibilidad del recurso de gestión en CPU estuviera libre así como el de procesamiento de cómputo, la parte del GPU.
La arquitectura de XBox One está pensada para las tablas nativas de gestión de recursos de DX12, por eso se insertaron en el SOC los coprocesadores de hardware así como los 4 motores de movimiento de datos, cada uno con lógica propia y capacidad de gestión en paralelo si fuera necesario.
Evidentemente, las actuales VGA del mercado "compatibles" con DX12 lo hacen a través del software, el driver Direct3D12, por lo cual se necesitará mucho más cómputo global para generar el mismo efecto visual. Éste es un paso más para entender que en la actualidad entre CPU y GPU a pesar de que la coherencia se aumentó, las colas y la ejecución del código no estaban optimizadas, provocando esperas que impedían rendir al SOC el 100% del tiempo.
Existen multitud de cosas de la pasada generación de consolas en general que impedían rendir al hardware más allá del 40% del tiempo y que ahora, ya no están ahí gracias a la arquitectura de XBox One, además Kinect 2 tiene su propio hilo de gestión de recursos y sus procesadores dedicados deja al sistema trabajar a pleno rendimiento.
Ahora, todo es eficiencia, todo es el provecho y la gestión del recurso disponible, no la fuerza bruta. La época donde más Tflops es mejor acabó, hay que dejar atrás el misticismo y la mentalidad obsoleta de generaciones pasadas.
Todos los viejos motores gráficos (middleware) no utilizaban todas estas características de gestión de recursos en alta y baja prioridad de forma nativa a través de las tuberías de renderizado, ni usaban coprocesadores de movimiento y gestión de recursos. Así que optenemos que la primera API de microsoft que ofreció a las third party denominada "mono" bloqueaba el acceso a bajo nivel de la arquitectura. La API beta ofrecida en febrero, denominada "stereo" tiene una lógica DUAL en 64bits y una carga completa en el hardware a través de DX12.
El dolor más grande para los desarrolladores a la hora del lanzamiento de una máquina pensada para 2014 fue la gestión de recursos de un hardware novedoso con unos drivers inacabados. En el inicio de los tiempos, (algunos recordaréis por las polémicas) los SDK de desarrollo de XBox One tenían 2 tarjetas gráficas en CROSSFIRE, de forma concreta 2x7970 para lograr emular la tecnología que se nos venía encima puesto que los drivers evidentemente no estaban listos. Sólo las first party tenían acceso al driver ALPHA (Ryse Forza).
Microsoft sabiendo que a través de Sony y su lanzamiento prematuro se verían obligados a sacar la consola con antelación a lo previsto, dotó a la máquina de un poco de más poder en SP, (Single Precisión) acelerando el hardware en Hz (hercios) tanto como fue posible dentro de la linea de flotación segura.
Intentemos comparar lo básico; El diseño de la GPU de PS4 es un diseño moderno y análogo de lógica representativa única. 1.8 Teraflops de precisión y coherencia simple sin dejar de recordar que la GPU de PS4 se ve obligada a abordar la carga de gestión del AUDIO a través de su CPU y el proceso del mismo a través de la GPU. Añadiendo a ello también la gestión del recurso de su cámara, que también es capaz de trabajar vértices de movimiento en un cuerpo humano a un nivel de precisión a medio camino entre Kinect 1 y 2. Los que entendáis como funciona un canal de instrucciones sabréis que ésto, son una cantidad desorbitada de instrucciones.
XBox One es una GPU digital, es una representación de lógica dual y no necesita ocupar recursos ni para audio ni para kinect, el GPU en cuestión es "IDENTICO" a un GPU DUAL nativo (físico). También es un GPU DX12 completo al 100% por lo antes mencionado gracias a los motores de movimiento de datos, aceleradores y viceversa, es a nivel de efecto 2 GPU's (2headsbest than One. DX12 Slogan) pero hecho por capas de hardware de alta y baja prioridad a través de optimizaciones y renderizados paralelos que a su vez tienen lógica dual. Esta y no otra es la evolución de la GPU, al igual que el primer procesador en el mercado de doble núcleo. Ahora los CU's (Core Unit) de la GPU de XBox One y los nativos DX12, pueden emitir de forma efectiva y dependiendo de la middleware usada entre 2 y 4 veces más de operaciones por ciclo de instrucción. por lo que los 14 CU's de XBox One insertados en el SOC (recordemos, 2 desactivados) se ven reforzados por ésta regla.
Además por si fuera poco y empezando a superar el misticismo hacia el "azure o nube" de microsoft, y no en vano, microsoft plantea una modificación en plano donde el controlador de red se ve integrado directamente dentro del SOC y dejando fuera de juego al NB. Esto permite que la latencia interna y la gestión del recurso esté libre y sea instantánea desde la nube. Ahora los datos recibidos desde internet pueden trabajar directamente en un movimiento pensado claramente para las descargas de recurso masivas de efectos tales como iluminación, físicas, IA, haciendo que desaparezca el lag producido en hardware's que no poseen ésta tecnología integrada.
Rompiendo el mito, ¿GDDR5 es mejor que la configuración actual que posee XBox One? Microsoft, compañía de software que entiende perfectamente lo que necesita y requiere para trabajar con un hardware de nuevo nivel, es tonta y se flagela ella sola? Vamos a verlo a través de varios ejemplos. Comprendamos XBox 360.
![]()
La memoria GDDR5 trabaja 176 GB/s, pero el número real y que importa es la cantidad de bits, que son 256bits, mientras que el EDRAM de XBox 360 está trabajando a sólo 128 bits pero con transferencia DUAL o lo que es lo mismo, lectura / escritura . PS4 GDDR5 176GB/s 256bits XBOX 360 26GB/s 128Bits
Sabemos que AMD en la GDC a mostrado un ROADMAP interesante que hace que se descubra que va a ir a una memoria apilada en las próximas GPUs ¿y eso por qué?, pues es bastante sencillo, son límites físicos del material de producción, el coste de la alimentación del sistema se agrega a la mayor demanda de potencia necesaria y por lo tanto, más calor se obtiene. No se puede simplemente seguir añadiendo CU's a los rendimientos decrecientes del silicio, al igual que tampoco se pueden poner más silicio dedicado a memoria, sería inviable. Por lo cual, AMD y la industria en general adopta el diseño de apilación.
![]()
Os pongo un ejemplo. PS4 GDDR5 176GB/s 256bits de ancho de banda Memoria apilada (stacked memory) 125GB/s 1024bits de ancho de banda. Se puede ver en el ejemplo que la memoria apilada tiene 4 veces más de ancho de banda. Sabiendo ahora que XBox ONe no tiene una GPU de la misma generación que la PS4 y que está modificada muy altamente aquí se lanzan las pruebas que demuestran varias cosas.
![]()
Terminemos de entender "La optimización de microcódigo sensible " PS4
http://develop.scee.net/files/presentations/gceurope2013/ParisGC2013Final.pdf[/URL]
Léase, página 50
" ¿Por qué tener este control de código fino? "
XBox One no posee control de código fino por que no lo requiere(software de estructura DX12 para aprovechamiento OPENGL). Es un GPU basada en la alineación de GPU'S de AMD de la serie R9 280, 270X y 270 que están ligeramente modificadas en compatibles en referencia a la gama 7000, con la que basan PS4 (pc).
Ejemplo básico:
Por un lado tenemos la única tarjeta gráfica de la serie 6000 capaz de gestionar la memoria como la serie 7000. HD6990 (2gpu fisicos) con 3072 procesadores de flujo (stream processors), por otro la GPU HD7970 (1gpu físico) con 2048 procesadores de flujo pero ambas tienen partes GCN con cambios en la estructura de gestión de la memoria tales como el ancho de banda de E/S que es más potente que su generación anterior lo que aplica menos generación de calor a su vez. Ambas usan una tecnología similar de gestión a pesar de ser generaciones diferentes.
XBox One fue fabricada con tecnología existente y optimizada para el futuro.
Nick Baker dijo: No, queríamos un solo silicio, como dije, si hubiera habido un período de tiempo diferente (forzados a sacar la consola un año antes) o las opciones tecnológicas hubieran estado disponibles, tal vez podríamos haber tenido una tecnología diferente (DDR4), pero no por el producto requerido(capacidades técnicas requeridas) en el plazo de tiempo, la inclusión de ESRAM era la mejor opción para facilitar el ancho de banda que la arquitectura requería"]
Desglosando la esRAM (ESram).(E/S ram) de XBox One.
Dejando de lado el pico de 209gb/s en una sola dirección obtenemos:
ESram 160 GB/s, de flujo ambidireccional a 1024bits de ancho de banda
Nick Baker: La interfaz posee 4 carriles, cada carril - a ESRAM es de 256 bits que componen un total de 1024 bits y eso es en cada dirección "
![]()
Todos ellos están conectados a través de una barra transversal y por lo tanto , de hecho, es cierto que se puede ir directamente y de forma simultánea a la DRAM y ESRAM ".
Eso significa que el GPU puede leer / escribir con 1024bits de ancho de banda más los 256bits DDR3. 64x4 tal como el gráfico muestra.
Esto es una configuración de memoria troncal extramadamente nueva. No hay una GPU en el mercado en cualquier lugar y plataforma (ni siquiera el R9 290) que pueda leer y escribir en 1024bits + DDR 3 256bits. 32mb+8GB de memoria bien gestionados y poniendo cada bit en su lugar y con el procesamiento de prioridades y colas trabajando con middlewares de 64 bits adaptadas a la arquitectura de la futura generación de apilamiento de memoria es igual a la configuración de XBox One. Microsoft ha adaptado tecnología existente de forma inteligente.
Andrew Goossen comentó que sería muy interesante que todo el destino de representación computacional no tuviera que vivir de la eDRAM (limitaciones en XBox 360) y así lo hicieron en XBox One, diseñando eSRAM con capacidad de E/S en la cual tenemos la capacidad de desbordar la esRAM en la DDR3 lo cual hace que la esRAM esté totalmente integrada en las tablas de paginación para que se pueda mezclar y combinar ambas memorias a medida que la DDR3 va solicitando recursos.
Por lo cual, la estructura de memoria de X1 no se trata sobre la estupidez de microsoft por crear un hardware, no se trata de abaratar costes de producción, no se trata de cualquier falacia inventada por la "SDF" (sony defence force), se trata sobre crear con tecnología existente la necesidad del futuro.
PS4 GDDR5 176GB/s 256bits de ancho de banda
XBox One Esram 160 GB / s , 1024bits de ancho de banda y sin DDR3
XBox One capacidad total troncal 228GB/s 1280bits de ancho de banda intregando DDR3
Los slices de la GCN apuntan a esto.
AMD próximos GPU de gama high end (alta) de 1 TB/s y 1024bits de ancho de banda. Futuras R9 y R10 con memoria apilable (stacking)
AMD próximos GPU discretos, (gama media, baja) 200GB/s y 1024bits de ancho de banda. Futuras R9 y R10 con memoria apilable (stacking)
Las futuras actualizaciones de las VGA aportan una nueva visión en el concepto de entender la memoria, básicas para el correcto funcionamiento de forma nativa del DX12, ya que potencian el SP hasta 4 veces.
XBox One DX12 nativa, 1.3Tflops SP = un mínimo de 2.6 Tflops hasta 5.2Tflops posibles en DP dependiendo middleware.
Sony ha jugado su carta, lanzando la consola lo antes posible con una tecnología moderna con más tflops en SP que microsoft. No es next gen auténtica y tiene a cambio de lo poco que se ha gastado en el SOC, una máquina acorde a ello. Obligó a Msoft a lanzar la consola sin los drivers y API's correspondientes haciendo uso en la mayoría de third party de sólo 1.3tflops y sin aprovechar la arquitectura de la máquina, además hablando de que las middleware no andaban adaptadas.
A partir del año próximo, API completa DX12, middlewares adaptadas... la primera batalla parece que la venció Sony, veamos quien gana la guerra final.
P.D A pesar de que pienso que Sony hace lo que puede en la industria y va ha ser aplastada por Msoft a nivel técnico, considero que las consolas están hechas para jugar y que al fin y al cabo cuenta la experiencia. Una máquina más o menos potente técnicamente que la otra no nos debería importar si las experiencias que nos brinda su software son exquisitas.
No tengáis duda que cuando merezca la pena tener una PS4, me haré con ella. Cuando salgan los títulos que me atraen más, léase Uncharted y compañia, no pienso escapar la oportunidad de vivir la experiencia jugable que tan mágicamente brinda Sony con sus franquicias... al igual que no pienso dejar de disfrutar las de Microsoft. Siendo un hardcore gamer es lo mínimo a lo que se debería aspirar. A jugar a cuantas más experiencias AAA mejor.
A veces uno entra a los foros y tanta desinformación y tanto troleo gratuito me echan para atrás. La gente tiende a mezclar los escasos conocimientos que poseen y una mezcla con lo "que ellos opinan" que se crean debates de lo más absurdo, que aburren hasta a las cabras.
No vendría mal un poco más de respeto mutuo y aceptación de ideas dispares. Todo el mundo aprendería de todo el mundo en vez de intentar hacer valer su idea por encima de todas. Una idea tonta vs una idea absurda = a troleos y faltas de respeto mutuos. Llevemos el debate con inteligencia. Es más lucrativo. Espero que os haya ayudado a entender lo que pasa y agradezco vuestra lectura. Un saludo a todos.El forero Isma 82 le debate sus argumentos:
La mayor parte de lo que has puesto ahí entiendo que lo leíste de este journal: http://misterxmedia.livejournal.com/[/URL]
Si lo analizas con detenimiento este journal está lleno de incongruencias, en cada post se dicen unos datos diferentes.
Te voy a explicar que significa eso de doble precisión. Si has programado en c++ sabrás que los números reales se pueden representar con un tipo de datos:
- float de 32 bits
- double de 64 bits.
Los datos float se denominan de simple precisión, y los doubles de doble precisión. Eso es lo que llamas ahí DP. Los datos en doble precisión no son nada más que variables que tienen un mayor rango de representación. Los rangos en c++ del float y doble son los siguientes:
Float 4 1.8E-38 3.4E+38
Double 8 2.2E-308 1.8E+308
Los datos double digamos pueden representar más números y más decimales. Para calculo científico que requiera mucha precisión (imaginate predicciones meteorológicas, etc) o que almacene números muy grandes se utiliza double. Trabajar con dobles si o si un menor rendimiento. En videojuegos se suelen utilizar datos float porque son suficientes para hacer lo que se necesita hacer en ellos. Las gráficas normalmente tiene la mitad de potencia en doble precisión que en simple precisión o incluso menos:
http://www.geeks3d.com/20140305/amd-radeon-and-nvidia-geforce-fp32-fp64-gflops-table-computing/[/URL]
En concreto las gpus base de xbox one y ps4 tiene las siguientes diferencias entre simple y doble precisión
Xbox one: Radeon HD 7790 --> 1792 FP32 (simple) ------------------ 128 FP64 (double) = 1/14 FP32
PS4: Radeon HD 7870 -----------> 2560 PF32 (simple) ------------------ 160 FP64 = 1/16 FP32
Si te fijas el ratio simple / double de la gpu de referencia de xbox one es superior al de ps4. Pero aún así ps4 es más potente en doble precisión que xbox one, teoricamente, habra que ver números concretos.
Pero como digo la mayoría de los juegos no necesitan usar datos double muy caros y que no aportan nada al pintado, si al calculo de fisicas o de simulaciones, pero no al dibujado, por lo que por eso las gpus utilizan su potencia masivamente en simple precisión.
Con esto quiero decir que porque xbox one pudiese mover en doble precisión digamos más potencia que ps4, inmediatamente podría minimo duplicar sus resultados en simple precisión. Si xbox one tiene 1.31 Tflops dicho por la propia Ms en simple precisión es imposible que en doble que es mas costoso tenga el doble, tendrá como mucho la mitad si no menos como ves en las comparaciones que te he pasado.
Por otro lado, la mayoría de las teorías con medianamente sentido de mistermedia se basaban en la posibilidad de que Ms hubiese conseguido crear tecnología de chips apilables. tecnología que está en desarrollo pero que aún está lejos de conseguirse. Cabria la posibilidad que por inversiones extra Microsoft hubiera podido adelantar este desarrollo y disponer de esta tecnología. Bien si eso fuese así lo lógico sería que xbox one tendría dos capas de cpu / cpu - gpu
Como en la primera capa tenemos una gpu confirmada basada en bonaire 7790 lo lógico sería pensar que como mucho en la segunda capa habría otro procesador identico gemelo. Es decir dos apus o sustituir la cpu añadiendo más gpu o mas esram.
Por lo tanto y para conseguir hybrid crosfire entre ambas deben ser lo más equilibradas posibles y para no disparar el coste dle procesador, lo lógico serái que xbox one dispusiera de dos 7790 ultracapadas a 1.3 tflops operando en hybrid crossfire.... Eso era lo único medianamente posible de lo que ha dicho mistermedia, porque la r9 280 no cabe por ningún sitio como podemos ver en la litografia de xbox one
http://www.chipworks.com/en/technical-competitive-analysis/resources/blog/inside-the-xbox-one/[/URL]
La r9 280 tiene 28 cus si no recuerdo mal. Xbox one tiene 14 con dos desactivados y a menor frecuencia de reloj. Como se puede ver no cabe aqui una r9 280. A aprte que la fuente de alimentacion de xbox one es de unos 220W
http://www.ign.com/boards/threads/xbox-one-power-supply-214-8-w-115-2-w.453368993/[/URL]
y R9 280 necesita unos 250 W por si sola más memoria, cpu, blu ray, placa, usbs... luego es literalmente imposible que tenga esa gpu.
Si que por fuente de alimentación xbox one podría haber tenido como digo una apu doble en el hipotético y extraño caso que microsoft y AMD hubieran conseguido adelantar un par de años la tecnología de chips apilables. Si xbox one consume unos 120 - 130 W en total. Su apu consumirá unos 90-100 W, luego podría tener una doble apu a unos 180 - 200 W y el resto para el resto de cosas de la consola.
PEeeerrrrooooo Albert Pannelo (directivo de microsoft encargado de difundir cosas de aspecto técnico) ya ha rectificado varias veces a mistermedia y en concreto en su twitter dice:
https://twitter.com/albertpenello/status/446742322701549568[/URL]
"I thought I had already said something about that. There is no 2nd GPU, there is no stacked GPU."
Tampoco se ha mostrado nada en la presentación de DX 12 sobre Xbox one. DX 12 está mas pensado para pc y para teóricamente extender Xbox one a terceros y poder fabricar una linea de xbox one compatible entre si a lo ipad o steam machine más que a potenciar xbox one.
Si es cierto que según Ms, que habra que ver en que consiste, xbox one soporta según ellos insisto completamente DX 12. Si esto es cierto es bastante probable que xbox one tenga hardware adicional que no tenga su gpu de referencia (7790). Dicen que hay unos nuevos métodos de blending y un sistema de gestion de mayas o texturas en DX 12 que no son posibles en hardware actual y si xbox one dispone de dicho hardware pues lo soportará. Habrá que ver que ventajas o mejoras a nivel visual o de rendimiento tienen estas y las que vengan, pero eso no va a hacer que mágicamente xbox one pase de tener 1,3 tflops a 2 o 2,6 y mucho menos a los números de la 280 de amd que ronda los 4 Tflops.
Un saludo.
Un dato adicional. Xbox one tendría además que tener mas esram para aprovechar una hipotética GPU superior. Ahora mismo la están limita la resolución de los juegos mas que la escueta GPU. Para poder renderizar a 1080p sin problemas xbox one debería tener 64 mb están (128 seria lo ideal para tener memoria adicional para AA o las tile resources.xbox INE podría tener 42 / 48 mb muy justito para 1080p complejo (defferred) pero teóricamente solo es utilizable a día de hoy Que se sepa 32. Los otros 10 / 18 adicionales (el cuadrito pequeño de la izquierda entre los dos Cores jaguar) aun no se sabe si son accesibles a los programadores o sirven para algo interno del api.A lo que FlashBackMan360[B[/URL]] le constesta educadamente:
[/B]Ante todo, agradezco que postees las dudas que tienes, pero un pequeño estirón de orejas por no leer bien toda la información que se da, ya que me obligas a re-explicar cosas que ya se han explicado. Toda la información la tienes en los slices, en los teardowns, etc, sólo hay que saber interpretarlos.
Ojo, estos post no son impresiones personales, son desgloses de la información que ha ofrecido Microsoft sobre su consola y que están al alcance de todos. Mis fuentes son múltiples y variadas pero como entenderás no cito ni una de las enculubraciones de MisterXmedia, sólo me baso en lo expuesto por Microsoft y en lo que el SOC manda. Por lo tanto, la mayor parte de lo expuesto aquí no tiene nada que ver con esa página que citas. Y si hicieras el favor de leer detenidamente todo lo expuesto en vez de centrarte en 2 o 3 puntos concretos, creo que tu sabrías darte cuenta de lo que se expone aquí.![]()
Ya que veo que tienes conocimientos sobre como funciona la arquitectura en un compatible, empezaré haciéndote una simple cuestión.
¿Podrías decirme porque una tarjeta gráfica como la 7790 con la que crees que se basa el SOC de XBox One implementa el full Tier y trabaja de forma nativa con DX12? Tu bien sabes que la serie 7000 de AMD no pasa de Tier 1, Direct3Ddriver.
En el post, el primer enlace de todos que vuelvo a poner aquí, lo demuestra.
https://twitter.com/XboxP3/status/446873135594225664[/URL]
Quizá, simplemente sea cierto que XBox One no tiene nada que ver con la serie 7790 y quizá sólo esté cogiendo de ésta el GCN. Y si me pides mi opinión personal, según la ley de la navaja de ockham donde lo más probable tiende a ser cierto, prefiero pensar a que simplemente no incorpora una 7790 por que técnicamente no es posible, a pensar e inventarme que Microsoft dentro de un SOC de 363m y tan y tan pequeño esconde algo más. Además tu mismo apuntas a que directivos de Microsoft cuentan que no hay tecnología apilable de GPU. Por lo tanto, ahí tienes un dato que por si solo rebate tu teoría. Probablemente hayan cogido de base los GCN de las R9 y hayan ejecutado modificaciones específicas dotandolas con tecnología 2014 y quizá de las futuras R10. Repito, 2 Billones de dolares gastados por Msoft, sólo en su SOC. Frente a 200 millones de dolares de PS4.
Te agradezco que hayas explicado como funciona la DOBLE PRECISIÓN, ahora que ya está bien explicada y todo el mundo sabe lo que es pasaremos a explicar como repercute eso en el hardware de XBox One y en que se diferencia con PS4 para hacerlo más inteligible-
La información es correcta y tendría sentido lo que explicas siempre y cuando diéramos por sentado que la vga de X1 es una simple tarjeta providente 7790-7770 y que trabaja con un sólo "hilo de ejecución de datos que a su vez, trabaja con un sola tubería de renderizado." pero tal y como el siguiente teardown indica, la arquitectura de XBox One tiene una lógica dual completa.
http://pc.watch.impress.co.jp/docs/column/kaigai/20131021_620224.html[/URL]
Traducir del Japonés.
En la publicación más prestigiosa del Japón, efectuaron un teardown con ácido para acercarse a las capas de silicio de forma física y desglosaron lo siguiente:
XBox One tiene una "lógica dual completa" puesto que, tiene 2 hilos de operación de cómputo lógicosaccesibles que a su vez, cada uno de estos hilos obtiene 2 tuberías de renderizado en paralelo. Por lo cual, XBox One técnicamente tiene 2 GPU, pero sólo 1 a nivel físico. (de ahí la desinformación de muchas webs de medio pelo)
Los cálculos en doble precisión no son útiles en un hilo simple por que no pueden ejecutar multitarea, por lo cual, lo que dices no tiene coherencia, básicamente porque bajo mi parecer, intentas comparar una arquitectura de PC o PS4 extrapolandola a la x1 y no tiene sentido hacer eso. PS4 tiene capacidad para atacar con DOBLE PRECISIÓN sus cometidos, pero dentro de una arquitectura plana de un sólo hilo de ejecución y una sola tubería de renderizado, al contrario con lo que pasa con XBox One, que pose 2 hilos y 4 pipes.[i]
Por lo cual, tienes razón al decir que una arquitectura simple de 1.3tf portandola a DP sería la mitad. Pero, XBox One tiene el "doble de todo" por lo que no se restaría, se sumaría.
¿Que se puede hacer si tienes el doble de hilos de ejecución de datos y a su vez tienes el doble de tuberías de renderizado en el GPU, accediendo a una lógica DUAL completa tal y como se requiere en DX12 NATIVO?
Pues atacar de forma paralela y al mismo tiempo, por un lado, los cálculos primitivos, por otro lado, el cálculo de proposito general del GPU, y por otro lado el vertex y el shader y aun te sobraría un hilo para cálculos inherentes a la gestión de recursos y movimiento de datos para evitar el overflow.
Atendiendo a estos datos, ofrecidos por éste teardown del que nadie habla y atendiendo a tu desglose te corrijo si me lo permites:
Atendiendo la gestión del número teórico para cada núcleo de GPU(CU's) entendemos como muestras tu en el gráfico y que yo previamente expliqué que XBox one posee 12 de ellos, y 2 desactivados. Cada CU tiene 4 SMID (Single Instruction, Multiple Data) y NO UNO, como la serie 7000. Cada 4 SMID tienen 4 procesadores antiguos con sus correspondientes tuberías de renderizado. Así pues, la misma instrucción es ejecutada de manera sincronizada por todas las unidades de procesamiento y a su vez todas éstas reciben la misma instrucción, pero operan sobre diferentes conjuntos de datos dentro de cada una de las 4 diferentes unidades de procesamiento.
Por lo que cada CU extrapolando a 32 bits, tenemos 12 x 4 = 48. 48 x 16 = 768. 768 x 4 = 3072 32bit de corrección de fase .. aunque el punto óptimo para la arquitectura de 64 bits de la XBox One es debido a la caché y los datos que mueven los "move engines". XBox One no tiene ninguna dificultad para hacer el procesamiento paralelo separado de la GPU porque la caché puede leer y escribir en ambos sentidos por no decir que la GPU puede también sin carga alguna a través de una vía ambidireccional, comunicarse con el CPU con 10gb/s más de coherencia que el HSA de ps4. 20gb/s vs 30gb/s.
Sobre MisterXmedia no voy a contestar puesto que, creo que ya ha sido contestado, no baso mi información en el. Sólo en la ofrecida por Microsoft y los Teardowns reales. Habiendo explicado que XBox One no posee 2 GPU, si no sólo una a nivel físico no tiene sentido reesplicar lo reesplicado. Penello tiene razón, no hay una segunda GPU, tampoco hay tecnología apilable en el SOC, al menos que sepamos. Sólo una lógical dual en los cálculos primitivos y todas sus áreas. De ahí la confusión de muchos usuarios.
Sobre la memoria, si has leído mi desglose anterior, tan sólo decir que vuelves a intentar pensar en ella como algo que no es y la utilizas como no se debe, básicamente por que la gestión de la E/Sram en lógica simple, es hacer de bufer lógico estilo edRAM para muchas middlewares hasta la fecha, pero la gente no lee y se olvida que edRAM era sólo en una dirección, la E/S ram es ambidireccional y ataca GPU y CPU en 1024 bits de ancho de banda y trabajando con DX12 nativo funciona a través del canal troncal "como un todo" acelerando el ambidireccionamiento de lectura y escritura y desbordando en DDR3, especialmente desarrollada para funciones de tiled y tilt.
Con lo cual, volvemos a lo de siempre, ¿que es mejor? ¿tener un garaje muy grande con mucha memoria, que se llena en una sola dirección a su vez y que no puede ser interrumpida y reescrita? ¿O tener 4 garajes pequeñitos que puede ser interrumpida, reescrita y con 4 coches que la llenan y la vacian super rápido en varias direcciones simultaneas?
Yo te contesto, para arquitectura simple como una PS4, lo mejor es una GDDR5. Para arquitectura extrapolada de super computación y con necesidades constantes de operaciones por ciclo, DDR3+E/Sram en canal troncal y así simular con tecnología actual, la memoria apilable del futuro que AMD nos ha enseñado.
Te vuelvo a agradecer tu comentario, así da gusto compartir conocimientos y te invito a que leas pausadamente toda la información que aquí se aporta intentando dejar atrás el hecho de que intentas comparar la arquitectura de x1 constantemente con gráficas de PC que poco o nada tienen que ver con los 2 billones de dolares que se ha gastado Microsoft en su SOC.
Un saludo a todos![]()
Isma 82 le vuelve a constestar:
Te voy contestando:
¿Podrías decirme porque una tarjeta gráfica como la 7790 con la que crees que se basa el SOC de XBox One implementa el full Tier y trabaja de forma nativa con DX12? Tu bien sabes que la serie 7000 de AMD no pasa de Tier 1, Direct3Ddriver.
- Todavía no se sabe que características no compatibles con la serie 7 de amd tiene DX12 y que importancia tendrán. Como microsoft tenía la hoja de ruta de DX 12 hace tiempo y ha metido mano en la gpu de Xbox one, como tu bien dices es muy posible que esta las incorpore (suponiendo que sea ciertas las declaraciones de Ms, que asumamos que lo son por ahora).
- Cuando sepamos esas características podremos tener una idea de si estas son altamente demandantes de hardware y la modificación sofrida es fuerte o no.
- Aunque no fuese la 7790 / R7 260, desde luego en la litografica puedes ver claramente 14 cus. Ni 20 como tiene ps4 ni 28 como tiene la R9 280.
- En el propio gráfico que muestras expecificas el fill rate a 13.6 y 41 Gtexels que es similar a la 7790. (Bonaire)
7790 -> 14 cus, 16.0 GPixel/s 56.0 GTexel/s 1,792 GFLOPS
R7 260 -> 12 cus 16.0 GPixel/s 48.0 GTexel/s 1,536 GFLOPS
Bastante mas similar que las gpus Pitcairn en las que se basa ps4 con 80.0 GTexel/s 32.0 GPixel/s 2,560 GFLOPS 20 cus.
Por lo que no tiene mucha pinta esa gpu de ser una r9 280 como decias (Tahiti)
28 cus, 26.5 GPixel/s 92.6 GTexel/s 2,964 GFLOPS
Todas las gpus de la serie 7 tiene 2 instrucciones por ciclo de ejecución simultáneos... Los cálculos de flops se hacen así:
Xbox one: 12 cus * 64 alus = 768 alus. 768 alus x 2 x 850 Mhzs = 1300 Gflops.
PAra tener dos hilos y 4 pipes de ejecución en vez de dos, la gpu de xbox one debería ocupar mucho más espacio. Porque requiere duplicar muchos de los elementos de la alu. LA Web japonesa no tiene ninguna prueba de eso que dice y no se ha visto en ningun otro sitio al igual que en esos diagramas no hay 4 pipes sino sólo dos.
Por otro lado como digo, si eso fuese cierto tendria tambien el doble de rendimiento en precision simple y no lo tiene.
Por otro lado la ESRAM seguiria siendo 32 / 42 Mb, que ya son insuficientes para 1,3 Tflops, imaginate para 2,6.
Te basas en una especulaciones de una Web japonesa que ha dicho una cosa que no ha podido demostrar ni empirica ni fisicamente, dato no oficial de Ms y antes decias que era una R9 280 y ahora ya es otra cosa...
Vamos a ver que ofrece DX 12 en el E3 seguramente adaptar la gpu a los requerimientos de ms así como a dx 12 ya eran suficiente motivo para gastarse 3000 millones en ella. Puede que DX 12 optimice o mejore muchas cosas de Xbox one, pero desde luego no va a convertir una gpu de 1,31 tflops en una de casi 3 o en ps4 que tiene 1,8. LAs distancias entre ambas consolas no van a ser muy grandes con el tiempo, pero desde luego salvo es bastante improbable que tumbe a ps4 o que se aproxime a una r9 280.
En cuanto a HSA ninguna de las dos tiene soporte completo y en calculo de gpgpu (que se supone que para eso sirve HSA para no copiar datos entre vram y rm de sistema por tener las caches coherentes) ps4 tiene 6 acs frente a 2 de xbox one (unidades de ejecución de computacione convencional) luego es como 3 veces más potente que xbox one en esa faceta. Y repito ninguna de las dos es full HSA por muhco que algun fangirl de sony lo aireara a los cuatro vientos. Las apus HSA son las kaveri que han salido en enero.
Un par de cosas mas. La cpu tanto de ps4 como de xbox one es bastante mediocre. El invremento de rendimiento de la gpu a 3 tflops seria lastrado por esas cpus taaaan lentas. Solo tienes que ver que ps4 en numeros deberia rendir como la r7 265 - 7850 o quizas algo mas y ahora mismo rinde como una r7 260x y a veces ni llega. Echale un ojo al benchmark de thief con una buena cpu (i5 por ejemplo) yla r7 260x y mira el rendimiento en ps4. Para que todo eso fuese asi xbox one deveria tener mas procesafor mas esram y mucho mas espcio ocupado por la gpu o un proceso de integracion menor.FlashBackMan360[B[/URL]] le constesta de nuevo:
[/B]Volvemos a lo mismo, es perdida de tiempo asumir que el SOC de X1 tiene algo parecido a una 7790 y/o viceversa. Que nadie se gasta lo que se ha gastado Microsoft sólo en su SOC para tener una discreta tecnología ya existente ni es necesario hacer pruebas empíricas carisimas de rendimiento teórico del SOC de x1 en grandes máquinas de simulación de hardware grandes como una habitación entera...por que la tecnología ya habría sido probada. Sigue y seguirá siendo una tontería querer extrapolar datos de la arquitectura de un PC dentro de un hardware cerrado. Ni si quiera en PS4 es comparable que es bastante cercano.
Vuelves a no comprender el concepto del CU virtual y de la doble precisión porque te empezuñas encarecidamente en "hacer comparaciones que nada tienen que ver" con lo que se expone. Tampoco dije que fuera una R9 280, dije que se le podría parecer, coge ésta vga y haz los cálculos inherentes al rendimiento en DP sin tener tecnología nativa DX12 y a ver cuantos TFLOPS te salen (vaya vaya muy parecido a X1)Por supuesto que X1 sólo tiene 14 CU, 2 para el fail safe imagino pero ya que estás...
![]()
Aquí puedes observar que la densidad del silicio poco o nada tiene que ver con una vga de serie 7000 como posee PS4.
Siendo más oscura en X1.
Aquí, la densidad de la serie 7000 en compatibles. ¿Curioso el mismo color que ofrece densidad similar? no creo.Me imagino que eso te explica por que el SOC de x1 es un GPU con capacidades de doble tarea en todas sus vertientes ya archiexplicadas. Recuerda, físicamente imposible, el silicio tiene sus límites, tecnologías apilables y/o densidades superiores en mismo micraje. Es ingenieria de componentes y entramos en terminos complicados de entender si no se entienden los actuales que se exponen. Además, no tiene nada que ver con el concepto físico como ya he dicho, es virtual. El slogan de DX12 es "2 cabezas mejor que 1" Te suena de algo? Una persona con un coeficiente intelectual de 150 en su cerebro, es igual a 2 personas diferentes con coeficiente de 75, que son 2 cerebros. 1 cerebro de lógica dual de 150 es igual a un coeficiente de 300 y a su vez, es igual a 2 cerebros físicos de 150. No se como explicarlo más fácil.
El API multimedia Microsoft DirectX 12 - CHW
Revisa los slices de la GAMES DEVELOPER CONVENTION 2014, todos los datos están ahí. Y por supuesto que se expone lo que son capaces de hacer las actuales tarjetas gráficas y las futuras.
Tier level 1 DX11,1 para Direct3Ddriver a través de optimización de microcódigo ( os suena del post inicial y ps4 a través de OpenCL ? )
Tier level 2 DX11.2 para Direct3Ddriver a través de optimización de microcódigo
Tier level 3 DX12 nativo para hardware diseñado en base a clusters de super computación
Repito todo ello derivado del estilo de optimización de microcódigo a nivel de hardware para optimización casi el 100x100 del tiempo.
http://www.cyberciti.biz/faq/data-center-standard-overview/[/URL]
Vuelvo a repetir:
http://wccftech.com/microsoft-teased-directx-12-features-reserved-generation-gpus-unveil/[/URL]
Microsoft reserva futuras características no enseñadas de DX12 nativo y afirma como ya hemos visto que X1 es full implemented.
https://twitter.com/XboxP3/status/446873135594225664[/URL]
¿quizá estas características sean las que quedan por anunciar?
http://gamingbolt.com/dx12-may-allow-xbox-one-to-save-gpu-time-render-ray-tracing-superfog-and-custom-effects[/URL]
El tema memoria, me vas a permitir dejar de repetirme, puesto que no tiene nada que ver la información que yo estoy dando como tu la quieres enfocar. No tiene sentido. No es una edRAM. No tiene nada que ver. No funciona así. Así, que después de toda la información dada y como se explica el funcionamiento de la misma de una manera inteligible creo que no es necesario seguir debatiendo eso. Está claro y a la vista cualquier usuario medio está el desglose.
Sobre el CPU, volverías a estar en lo cierto siempre y cuando el CPU no estuviera o estuviese modificado para añadir operaciones por ciclo extras. En otros post ya hemos desgranado esta información. 48operaciones por ciclo x1, sólo 16 ps4. Es por ello por lo cual está dividido en 2 clusters tanto físicos como a nivel de trabajo. ¿Te has fijado en la sram que hay entre clusters de CPU? no está ahí de adorno.
Ocho nucleos y seis operaciones por nucleo dividido en 2 clusters y potenciando coherencia en canal dual a través de la sram.
http://arstechnica.com/gaming/2013/05/microsoft-talks-about-xbox-ones-internals-while-disclosing-nothing/[/URL]
Es por eso y no por otra cosa por la cual Microsoft y su DX12 nativo ofrecen un 50% de optimización en CPU a traves de microcódigo y a través de hardware nativo como es el caso que nos ocupa. Ahora la arquitectura del CPU no parece tan mediocre y pensamos que tiene 3 veces más de llamamientos simultaneos de cálculo simple que el dispuesto de forma base en PS4.. y que optamos gracias a la sram dispuesta entre módulos de comunicación paralela a través de los 2 clusters. Vuelvo a insistir, esto ya ha sido explicado en otros post.
Además por si fuera poco, otro dato a tener en cuenta del cual X1 no lleva integrada una 7770/90 es partir de la base que tanto la tarjeta en PC como PS4 no ofrece resolución nativa 4k en juego, sólo por passtrought del hdmi para la reproducción de video, mientras tanto y sin embargo XBox One ofrece resolución nativa 4k tanto en reproducción de video como en juego, curiosamente, igual que la serie R9 de AMD que a partir de su vertiente 280 ofrece. ¿Curiosa casualidad verdad?
http://www.polygon.com/2013/5/23/4359450/xbox-one-will-support-4k-output-resolution-and-3d[/URL]
Además me obligas a entrar en datos técnicos que con todos mis respetos, no me parece que sepas abordar, ya que estoy sintiendo que te explico constantemente una cosa que estás viendo desde un punto de vista del cual no es comparable.
PE = Processing element
EU = Execution unit
Cuando una instrucción es decodificada y pasada a través de EU/PEpara crear 1 op/cycle
Pero el problema o duda que veo que tienes comparando la tecnología de forma incorrecta es ¿Cuántas ALU están por debajo de esa parte de manera que el punto de SIMD o operación vectorial puedan actuar?
Simplificando teorema
El nuevo Slide presentado por AMD en la GDC2014 y a la vista de todos representa esto: CU = 16 EX, y no 64 ALU como puedes pensar extrapolando tecnología del 2012
¿Porque?
Pues por que según nos informa el socio de AMD residente en su website (Microsoft) por cada EX estamos calculando 1 operacion por ciclo en "DP"
1 DP = 4 ALU
¿porqué de manera técnica y compleja?
pues sencillo:
1 EX tiene capacidad de branquear en argot de microarquitectura
1 EX tiene una unidad de escalado completa
Bueno, creo que a vista de todos de forma sencilla e inteligible y acabando de forma compleja y técnica a la vista de todos está.
P.
Que alguien me diga cuantos Tflops en DP tiene una 280x o quien dice esta, dice una Titan black con la que se ha presentado DX12 y Forza5 en pc... a ver que número da
Isma 82 le contesta:
A ver 48 instrucciones por ciclo la CPU de xbox one? El jaguar tiene dos instrucciones por ciclo por 8 hilos (2 bloqueados para el s.o) son las 16 que comentas de ps4. El jaguar no es multithreading ni nada parecido es Imposible que tenga 6 instrucciones por ciclo en vez de dos... La CPU de xbox INE dejaría en bragas a ps4 y los juegos de one o irían tan sumamente mal como van. En la CPU no hay magia oculta años a medias ni otras de las escusas que comentan algunos para justificar el mal rendimiento en multis de la consola. La CPU es directamente accesible y si xbox one tuviese un factor de escalabilidad de 6 ya se hubiera visto y no es así a parte de insistinte en que la CPU de one y ps4 son casi identicas y las litografías ahí están para que las veas.
Rytracing en tiempo real? Solo seria posible con la nube. Ni siquiera las GPUs de pc extremas pueden hacerlo. GPUs que consumen 300 o 400 W. Una GPU de 75 - 80 W como la de xbox INE ni se aproxima a esos rendimientos.
Si te inventas que la GPU puede ejecutar 70 instrucciones por ciclo claro que cuadran los numero. Si tienes teóricamente 2 hilos por ALU podrías ejecutar teóricamente 4 instrucciones por ciclo en vez de dos de la gcn. Pero no hay nada virtual. Para poder hacer eso hay que duplicar parte del pipeline de la GPU. Mínimo incrementaría el tamaño un 40 o 50 % el tamaño del soc o tendría que bajar el tamaño de integración a 18 nms. Cualquiera de esas dos cosas no se dan.
Aun dándose el resultado daría 2,6 Tflops con unidades de textura y mtus insuficientes para esa tasa de procesado. 16 ropa y 48 mts vs 32 y 70 / 80 de las gpus de la serie r9. 2,6 tflops con esas carencias y el bajo ancho de banda de xbox daría en el hipotético caso de ser posible un rendimiento no superior a la r9 270 y las diferencias con ps4 no serian para nada definitivas. No mas de lo que era mas potente 360 vs ps3. Así que incluso aunque todo eso fuese cierto no sería ningún alarde de maquina ni mucho menos.
Ps4 y xbox one soportan 4k reescalado pero ningún juego va a llegar a 4k porque no cabe en la esram y no tiene rops suficientes par mover esa resolucion y el ancho de banda de la memoria RAM es insuficiente porque esta compartido con la CPU y es bajo. La esram en parte necesita ser utilizada para representar el framebuffer si no xbox one no podría hacer casi nada porque no podría procesar la información que necesita.
Antes de salir xbox INE ya comente en el foro que la están limitaría na mayoría de juegos a 720 p y 900 p como ha sucedido. Forward rendering es posible a 1080p (forza) pero defferred rendering necesita o recorte De resolución o compresión (900p) y no tienes espacio adicional para procesar otras cosas que necesita la gráfica o los tile resources que si pueden ayudar a One pero que por desgracia hay poca memoria esram para implementarlos bien por ahora.
Microsoft ha modificado la apu claramente. Los 10 mb esram entre CPUs tendrán su utilidad aunque no la sepamos aun. Los nuevos modos de blending o las mejoras en la ejecución de comandos De Dx12 pueden estar implementadas o la detección de colisiones y puede hacer que INE rinda muy bien y que las diferencias con ps4 acaben siendo similares a las diferencias actuales entre ps3 y xbox 360, pero al igual que xbox360 es superior y sigue siendo lo a día de hoy a ps3 ps4 sera siempre superior a one . particularmente no le veo mayor problema si las diferencias se estabilizan en 900p 960p va 1080p. Xbox INE tiene un buen escalador que suaviza el problema, pero 3 tflops? No hay por donde cogerlo.FlashBackMan360[B[/URL]] le vuelve de nuevo a contestar:
[/B]Esquivas obviedades, dejas de lado muchas de las múltiples preguntas que se te efectúan, no das pie a la información verídica que se te proporciona, sigues en tu cruzada personal de intentar cotejar cosas no-cotejables comparándolas con cosas que poco o nada tiene que ver, no das datos empíricos de lo que expones, no aportas pruebas a lo que comunicas.
Bueno, los datos están ahí, la gente puede leer y puede crearse su propia impresión que al fin y al cabo, es lo que cuentay considero que a la vista está que no estás suficientemente informado al respecto como queda patente sobre los datos ofrecidos en la GDC14.
Recuerda que los motores gráficos (middlewares) y/o herramientas que acceden entre la interfaz API general y la de bajo nivel no han estado listas para aprovechar la arquitectura de x1 hasta ahora, que en la GDC se han presentado todos los nuevos motores con DX12 nativo como ya expliqué.
El tema ya está más que claro. Sería repetir lo ya repetido. Tu ya has puesto tu impresión y yo aporté ya los datos.
P.D. Comprendo perfectamente tu enfoque y el punto de vista. Pero a vista de cualquier ingeniero de soft o arquitecto de estructuras de hard queda patente que posees conocimientos limitados que te impiden entender toda la información que aquí se presta. En realidad, cualquiera que pierda el tiempo repasando toda la información (que no es poca) y la lea de PE a PA, se dará cuenta de ello. No obstante gracias por compartir tus impresiones personales.
Ciertamente, para mi, que digas cosas como "bajo ancho de banda" cuando se explica que el bus en bits es 4 veces mayor y ambidireccional en X1 o que comentes que X1 no puede ejecutar nativamente 4k para juegos (otra cosa es que los vaya hacer) y obvies el clarisimo cambio de arquitectura entre GPUS de ambas máquinas, o que digas que me invento cosas cuando te aporto enlaces constantes a la información remitida, me deja claro y patente que: o no has leído bien todos los post o no quieres aceptar la realidad. Pero bueno no deja de ser una impresión propia y privada del hecho que queda reflejado en tus comentarios. Nuevamente, gracias de todas maneras, ya que sin personas capaz de cuestionar, no habrían avances.
Si es que no hay más ciego que el que no quiere ver.... Desde el principio Multerer y los demás arquitectos de XBox One han estado hablando sobre la DUALIDAD DEL PIPE y la eficiencia derivada del DATA FLOW. Para referencias un boton, te vas a la entrevista de Digital Foundry y lees esto:
Spoiler:
"To facilitate this, in addition to asynchronous compute queues, the Xbox One hardware supports two concurrent render pipes. The two render pipes can allow the hardware to render title content at high priority while concurrently rendering system content at low priority. The GPU hardware scheduler is designed to maximise throughput and automatically fills "holes" in the high-priority processing. This can allow the system rendering to make use of the ROPs for fill, for example, while the title is simultaneously doing synchronous compute operations on the Compute Units."
Lo que se entiende aquí es que la arquitectura de DUAL PIPE se dedica a trabajar simultaneamente así que mientras una está empezando a actuar la otra está todavía en proceso al final del pipe. Esto les permite maximizar el uso de la GPU porque el proceso no tiene que esperar el final de la carga y con esto consigues empezar a trabajar mientras en el otro se hace el trabajo.
Es muy interesante. Si quieres hacer eso de una manera heterogénea y global, supongo que se necesita personalizar el hardware y el split, paralelizar algunos componentes. Que es lo MS hizo con sus ALU. De lo que describen, también se extrapola y explican que un pipe se dedica a sistema (supongo que como Snap -in) y el otro para los juegos . Creo que es aquí donde la arquitectura dual nativa junto al dual -driver, tiene sentido.
- Con la API actual y el driver DX11.2 - el controlador sólo se puede abordar un solo pipe de renderizado para juegos. Con este controlador no tienes que preocuparte acerca de los recursos del sistema, pero no se puede maximizar la GPU (un render accionado de forma individual, no paralela) .
- Con los nuevos SDK de FEBRERO- el controlador puede acceder a 2 render pipes para el juego. Supongo que en este caso, el hipervisor de la máquina se utiliza para distribuir el trabajo entre el sistema y el juego. Lo que significa que si se utiliza a pleno rendimiento durante un juego, el rendimiento será un poco limitado, pero también significa que si tu no utilizas recursos de la GPU reservados para el sistema puedes dedicar el dual pipe render para juegos.
Y imagino que esto es lo que los desarrolladores de COD GHOST quisieron decir cuando pidieron a MSOFT liberar ciertos recursos extra que tenían ahí..
Mi suposición es que el doble PIPE nativo y el controlador no se puede utilizar de manera eficiente por DX11.2 porque en el fondo no puede "ver" las 2 render pipes y los 4 hilos del programador. Sólo funciona con un solo pipe de manera efectiva. Con la ayuda de DX12 se puede abordar de manera eficiente las 2 render pipes porque el trabajo asincrónico se puede abordar "directamente" a bajo nivel "to the metal". Desde las primeras entrevistas sobre DX12 insisten de paralelismo y el trabajo asincrónico. También explican por qué no podemos ver ahora mismo en beneficio de los nuevos procesadores el doble conductor.
Tenemos que esperar hasta que DX12 esté disponible en plenitud para XBox One .
Por lo tanto dentro de XBox One cuando se combinan el bus de 1024 bits de la e/sRAM y su ancho de banda / baja latencia, junto al dual -driver y su arquitectura nativa DX12 , el resultado se verá increíblemente beneficiado. e/sRAM se utilizará para almacenar y distribuir las cargas primitivas de trabajo para rendir en 2 pipes con la ayuda de DX12 sin latencia alguna. Hacer esto puede maximizar la GPU 3 y 4 veces más. Y de ahí salen las cifras matemáticas que hemos dado.
De forma concisa. El sdk de febrero habilita la dualidad por software. El año que viene la API nativa DX12 habilitará la dualidad por hardware.
Y si bien es cierto que 2+2 son 4 yo no esperaría 5.2Teraflops puesto que por hardware si podemos rendir el doble pero por software no alcanzaríamos la completa dualidad. Probablemente unos 4.5+offloads sea más realista.
En el siguiente hilo se explica realmente los CUs de la Xbox One y salen a la luz datos muy relevantes e interesantes.
Spoiler:
FlashBackMan360 escribió:
¿Qué creéis que dice esta foto en alta resolución de uno de los CU de XBox One?
En anteriores post he dejado constatar con pruebas fehacientes y enlaces que daban credibilidad a la estrategia de MS en referencia a la arquitectura de nuevo paradigma de la consola. Puesto que hay usuarios que no son capaces de desglosar la información y hacerse una idea y otros que simplemente niegan la realidad de lo que entienden y leen y puesto que una imagen vale más que mil palabras... A buen entendedor, una imagen es suficiente para comprobar de lo que hablamos.
Esta foto está sacada de chipworks al alcance de cualquiera. Me pregunto cómo estos sitios web, o los "supuestos usuarios entendidos" ni siquiera se preguntan acerca de las diferencias en ambas arquitecturas, los CU Radeon no tienen nada que ver entre los de la serie 7000 y PS4 con los de XB1.
Basándonos en los cuatro hilos del programador y la dualidad del pipe ya archiexplicados en los otros hilos, los cálculos son claros...
Lo que muestra la imagen superior es la cantidad de ALU per CU que dispone el GPU de X1. Demos un poco de detalle de para que sirve el ALU en computación. La ALU es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas entre dos dígitos computacionales. De hecho, un GPU moderno (y los mainframes) puede tener múltiples CU como ya hemos visto, cada núcleo con múltiples EU "unidades de ejecución", cada una de ellas con múltiples ALU. Después podemos entrar en detalle y desglosarlo pero nos basta con saber que un ALU trabaja con números enteros y un FPU derivado a CPU, es capaz de trabajar con más precisión porque resuelve coma flotante.
Quizá algunos os suene más los datos de SPs o bien "Stream Processors" o Shader Cores, vienen siendo lo mismo.
Así pues, si coges la die size de los slides de GPU tanto de ps4 como de x1 puedes contar con tus dedos y ver la disposición de los mismos.
Ya que @Xrob[/URL] me ha facilitado el trabajo cogeré sus capturas de los CU para hacer el diagrama: Lo que vamos a ver es que en PS4 hay 20 grupos/CU de 64 ALU/STREAMPROCESSORS/SHADERCORES 2 de ellos desactivados COGEMOS UN CU y vemos los 2 grupos
Si cogéis la imagen de arriba del todo del todo, la extrapoláis y contáis con vuestros propios dedos veréis lo siguiente. (16*2) *2= 64*18=1152 ALUs totales, que cuadra con la información oficial que SONY ha dado respecto a sus shader cores. Sony ha dado estos datos frios, con cálculos en arquitectura actual, total 1.8TF en SP (single precision)
Ahora pasamos a XBox One: COGEMOS UN CU y vemos los 2 grupos Lo que vamos a ver es que XBox One tiene 14 grupos/CU de 128 ALU/STREAMPROCESSORS/SHADERCORES 2 de ellos desactivados
Si cogéis la imagen de arriba del todo, la extrapoláis y contáis con vuestros propios dedos veréis lo siguiente. (32*2)*2=128*12=1536 ALUs totales, "que no cuadra con la información oficial que MS ha dado respecto a sus shader cores, ya que ellos han dictaminado justo la mitad" 768.
¿Pero entonces por que MS ha dado la mitad de ALUs de los que físicamente se ven? PUES MUY FÁCIL.
Lo explicamos técnicamente y después en plan fácil:
Xbox One = 12Cores * 128ALU = 1536 SIMD Cores
Flops(SP) = cantidad total de ALUs * clockrate * sp añadiendo ipc
-> Flops = 1536SIDM Cores * 853MHz * 2 = 2620416 Flops = 2,620416 TFlops
Por que 1536 ALUs en SIMPLE PRECISIÓN FÍSICA SON EXACTAMENTE 2.6TFLOPS a 853mhz cual corre el GPU de X1 y si lo extrapolas a DP (DOBLE precisión) TIENES 1.3TFLOPS+off load de los 15 procesadores dedicados y motores de movimiento de la APU que suman capacidad de cálculo, en vez de restar como en PS4, esto es exactamente la información que MS ha dado sobre su capacidad técnica.
Y esto sin mencionar los 2 pipelines paralelos de COMPUTO. Ahora los 4 programadores paralelos tienen sentido, porque la ARQUITECTURA DE XBOX ONE se beneficia de DIRECT X12 y DIRECT3DDRIVER al mismo tiempo por lo cual puedes esperar un mínimo de 2,6 teraflops físicos y una optimización a través de driver de el DOBLE tal y como hemos escuchado a muchos desarrolladores en el último summit. TOTAL POSIBLES TFLOPS 5.2
Con la ayuda de DX12 DEMOSTRABLE en los ciclos del CPU, que como ya hemos desgranado en otros post obtenemos 6 operaciones por ciclo por núcleo en un total de 48, la CPU no será un cuello de botella.
Sistema balanceado, arquitectura perfectamente equilibrada.
Nuevo paradigma. 2.6 teraflops en SP *2 frente a los 1.8teraflops *2 de PS4.
XBox One 1.3tf en DP. 2.6 en SP TOTAL 5.2 teóricos con DX12 nativo.
PS4 0.9tf en DP. 1.8 en SP TOTAL 3.6 teóricos con OPENCL emulando
Punto y final.
Eso es todo
P.D No me quiero ir sin antes dedicar unas palabras a los que insultan y descalifican mi persona por privados. Me da igual que suene pedante. "No podéis esperar que piense tan despacio como vosotros, por lo tanto no podéis esperar que me sienta ofendido por vuestras palabras, no estamos hechos de la misma materia gris".
Ahora que cada uno saque sus conclusiones.
PD: Por cierto muy curiosa ha sido la presentación de la nueva tarjeta gráfica AMD R9 300, y sobre todo esta imagen:
Aplican la misma idea que One.