KinderRey escribió:De momento seguimos en más de lo mismo, potencia bruta, dependencia de datos entre los hilos de trabajo, y middleware enfocado a ello.
Si se hacen las cosas
a la antigua la dependencia sigue ahí,
y la necesidad de concurrencia.
Ahora, si las tareas (las que sean posibles) se hacen en plan "computación",
y DX12 según dicen apoya mucho eso (DirectCompute imagino con mayores facilidades), en XO dichas tareas se almacenan en la eSRAM,
y puede
ser accedido por cualquier componente de forma independiente, tanto CPU como GPU. Por lo tanto usando la eSRAM como caché nos quitamos de en medio la necesidad de la escritura/lectura en RAM principal, como pueda suceder con
un modelo de memoria unificada. Recordemos que la CPU tiene
un ancho hacia eSRAM de 30 GB/s, más que de sobra para computación (que no es streaming de datos precisamente),
y que ésta puede leerse
y escribirse al mismo tiempo, sin latencia además.
Por ejemplo, imaginemos
un sistema de partículas, hago el algoritmo en plan computación, paralelizando en lo máximo posible,
y lo ejecuto. El sistema distribuirá la carga entre las unidades de computación según carga, yendo 1º hacia GPU
y de estar muy ocupada pues mirarí
a si la CPU está libre. Sea quien sea la que ejecute uno de los hilos paralelos el resultado acaba en la eSRAM, de forma totalmente transparente para el resto de componentes.