HSA102 - LCUs Y TCUs ¿QUÉ SON?

Las entradas de este 'foro' apareceran en Portada

Re: HSA102 - LCUs Y TCUs ¿QUÉ SON?

Notapor fabrihn » 28 Nov 2015, 02:05

bien, bien, de a poco se va llenando la info

dicho sea de paso seria bueno que al inicio de cada post de estos pusieses el enlace a los post anteriores, porque parece que seran varios y derrepente alguien no ha leido los primeros (no se sabe en que dia, mes, año alguien lo encotrara y lo leera :beers: )
fabrihn
Usuario de TG
Usuario de TG
 
Mensajes: 13
Registrado: 09 Sep 2014, 22:59
Has thanked: 3 times
Been thanked: 5 times

Re: HSA102 - LCUs Y TCUs ¿QUÉ SON?

Notapor manuki » 30 Nov 2015, 09:28

Buenisimo el articulo :beers:
Muy bien explicado y ansioso por leer la tercera parte :sisi:
Imagen
Avatar de Usuario
manuki
Usuario de TG
Usuario de TG
 
Mensajes: 409
Registrado: 01 Oct 2014, 16:42
Has thanked: 25 times
Been thanked: 59 times

Re: HSA102 - LCUs Y TCUs ¿QUÉ SON?

Notapor BiG Porras » 30 Nov 2015, 17:20

manuki escribió:Buenisimo el articulo :beers:
Muy bien explicado y ansioso por leer la tercera parte :sisi:


Y a.cuarta, y la quinta, y... :sisi:
...Siempre BiG!
Imagen
Avatar de Usuario
BiG Porras
Moderador
Moderador
 
Mensajes: 17232
Registrado: 09 Jun 2014, 11:25
Ubicación: Torroles
Has thanked: 4228 times
Been thanked: 1589 times

Re: HSA102 - LCUs Y TCUs ¿QUÉ SON?

Notapor Pomardako » 30 Nov 2015, 20:32

Buen trabajo f5 , se agradece que lo vayas haciendo por partes para no atosigarnos más de lo debido. Son escuetos y claros, justamente lo que necesitamos , ya que si fuera un ladrillo de 4 o 5 páginas, nos costaria muchísimo más seguirlo.

:awe:
Avatar de Usuario
Pomardako
Usuario de TG
Usuario de TG
 
Mensajes: 1475
Registrado: 23 Jun 2014, 10:45
Ubicación: Barcelona
Has thanked: 447 times
Been thanked: 184 times

Re: HSA102 - LCUs Y TCUs ¿QUÉ SON?

Notapor Erchacho » 01 Dic 2015, 09:32

f5inet escribió:
Bienvenidos al segundo artículo de la serie de artículos HSA. Antes de seguir profundizando en la descripción de la arquitectura HSA, es importante dejar claro qué clases de unidades de cómputo (CUs) contempla HSA.

Imagen

Como habíamos dicho en el artículo anterior, la computación heterogénea, se refiere a sistemas que contienen múltiples unidades de cómputo (Como CPUs, GPUs, DSPs, o diversos ASICs) y en cómo todas estas unidades ven la memoria en un pozo unificado, donde todas pueden acceder simultáneamente.

Bien, como todos sabréis, una CPU realiza su trabajo de forma bastante diferente a una GPU. El procesamiento de una CPU es un procesamiento EN SERIE, también denominado procesamiento ESCALAR, mientras qué la GPU realiza procesamiento EN PARALELO, también denominado VECTORIAL.

Distintos problemas, distintas soluciones:
El procesamiento en serie o ESCALAR, va leyendo las instrucciones del programa una a una y las va aplicando una a una a los diferentes datos. Este modo de procesamiento también es llamado SISD (Single Instruction, Single Data), en el cual una única instrucción afecta a un único dato, o más bien, tiene un unico output. una instrucción tipo escalar, sería del sentido ‘al valor 14, sumale 34’. En un CU (unidad de computación) de tipo escalar, lo más importante es la latencia, o el retardo, qué se tarda en ir y volver de la memoria, ya qué el trabajo qué se realiza en la CU es escaso, lo qué limita el rendimiento de una CU escalar es la latencia. El símil es qué para ir tu solo a trabajar, lo ideal es tener un deportivo capaz de ir muy rápido..

El procesamiento en paralelo o VECTORIAL, lee las instrucciones de una en una, igual al procesamiento escalar, pero la instrucción afecta a diferentes datos simultáneamente. Este modo de procesamiento también es llamado SIMD (Single Instruction, Multiple Data), puesto qué una única instrucción, se aplica simultáneamente a diversos valores. Un instrucción tipo vectorial seria ‘al set de valores 12, 45, 67 y 34, súmales 12’. En una CU de tipo vectorial, el factor limitante es el ancho de banda de disponible. puesto qué por cada instrucción estamos haciendo ‘el cuádruple’ de trabajo qué con una CU escalar, lo importante es tener un ancho de banda grande qué deje libre el bus lo antes posible. En este caso, el deportivo no es lo más adecuado, y es más interesante contar con un minibus qué permita llevar más personas de ida y vuelta al trabajo, puesto qué aunque vayamos más lento qué en un deportivo, al final, vamos a mover más personas en el mismo tiempo.

Y llegamos al meollo del asunto:
Muy bien, pues en HSA estos dos tipos de CUs tienen un nombre. Las CUs qué son sensibles a la LATENCIA, o sea, las CUs especializadas en trabajar con baja latencia de memoria y qué por tanto son buenas en el trabajo escalar, se denominan LCUs (Latency 'optimized' Compute Unit), o CUs optimizados a la latencia. Mientras qué las CUs especializadas en trabajar con un gran ancho de banda de memoria disponible, y qué por tanto son buenas en los trabajos vectoriales, se denominan TCUs (Throughput 'optimized' Compute Unit), o CUs sensibles al ancho de banda.

Por supuesto, puedes realizar un trabajo evidentemente vectorial (y por tanto sensible al ancho de banda) en una LCU, sería el equivalente a qué 50 personas pueden usar el deportivo para ir a trabajar, pero tendrán qué dar 50 viajes, tardando mucho más qué lo qué tarda un único autobús.

De idéntica manera, puedes usar una TCU para realizar trabajo escalar (o sea, sensible a la latencia), pero es como si fueses tu solo en el autobús, no vas a llegar más rápido por ir tú solo. El autobús va a tardar un tiempo especificado, y no va a tardar menos por ir menos cargado.

Porque cada tipo de CU son distintos, y a la vez, iguales:
En HSA, todas las CUs se cuentan por igual y se suman, puesto qué todas las CUs pueden ejecutar todos los tipos de trabajo. Obviamente, los LCUs serán más óptimos ejecutando código escalar, y los TCUs serán más óptimos ejecutando código vectorial y HSA permite qué el programador ‘aconseje’ un tipo de CU para el código qué debe ejecutarse en la arquitectura, pero la decisión final de donde se ejecuta dicho código corresponde al HSA Runtime, del cual hablaremos más adelante.

Por ahora, y como adelanto de lo qué está por venir, aclarar qué el HSA Runtime puede decidir, por su cuenta y riesgo, ejecutar código qué el programador ha ‘aconsejado’ ejecutar en una TCU, en una LCU en su lugar, porque la ocupación de las TCUs es muy elevada y los LCUs están ociosos. el código ‘recomendado TCU’ seguramente va a tardar más en ejecutarse en una LCU, pero tardaría aún más si tuviese qué esperar la cola.

Obviamente, lo contrario también es cierto. El HSA Runtime puede decidir ejecutar un código recomendado para ejecutarse en una LCU, en una TCU en su lugar, por la misma razón anterior: en la LCU tardaría menos, pero con la cola que tiene que esperar, en la TCU que esta ociosa va a terminar antes.

Mientras más seamos, más reiremos:
En los sistemas x86, y por si todavía alguien tiene la duda, los LCUs son los núcleos de la CPU, y los TCUs son los CUs GCN de la gráfica o integrados en la APU. Por supuesto, es difícil agregar más LCUs a un sistema X86, más qué nada, porque una vez qué has comprado una APU compatible HSA (Como un sistema Kaveri o Carrizo) para aumentar el número de LCUs necesitas cambiar la APU enteramente.

Esto no sucede asi con los TCUs, donde todo lo qué necesitas es comprar una GPU compatible HSA, y obtienes toda una batería de TCUs dispuestas a integrarse y trabajar en toda la arquitectura HSA de tu equipo actual.

Después de este interludio, continuaremos con temas de configuración de memoria en el siguiente artículo.


@f5inet, puedes explicar la imagen del artículo?, por que leo un 10x pero viendo la imagen es como si mostrase la evolución de las tarjetas gráficas hasta el 2012 donde ha sido muy superior a la de los procesadores.

Que tiene que ver HSA con esa imagen?
Imagen
Avatar de Usuario
Erchacho
Usuario de TG
Usuario de TG
 
Mensajes: 1605
Registrado: 22 Jun 2014, 12:29
Has thanked: 168 times
Been thanked: 400 times

Re: HSA102 - LCUs Y TCUs ¿QUÉ SON?

Notapor CapitanCagon » 01 Dic 2015, 09:53

La capacidad de computo de las GPUs se ha multiplicado x10 en los ultimos años. Los famosos Tflops. Pero la cuestión es como hacemos q esa capacidad de computo no se convierta en picos q se pueden obtener en TEORÍA y conseguimos una potencia sostenida en la PRACTICA. Y hay es donde entra el HSA.
Avatar de Usuario
CapitanCagon
Usuario de TG
Usuario de TG
 
Mensajes: 1121
Registrado: 23 Jun 2014, 20:16
Has thanked: 259 times
Been thanked: 335 times

Anterior

Volver a FLASHFORWARD
cron