Optimizing simd execution in hw/sw co-designed processors

Tesis doctoral de Rakesh Kumar

Los aceleradores simd están presentes en microprocesadores de prácticamente todos los dominios de computación. Su alto poder de cómputo y la simplicidad de su hardware mejoran el rendimiento general de una manera eficiente. Por otra parte, sus unidades funcionales replicadas y el mecanismo de control simple los hacen susceptibles de crecer a vectores más largos de forma natural. Sin embargo, la generación de código para estos aceleradores ha sido un reto desde su concepción. Los compiladores generan código vectorial de forma conservadora para garantizar la exactitud. Como resultado de ello pierden oportunidades importantes de vectorización y no extraen los máximos beneficios de los aceleradores de simd. esta tesis propone vectorizar los programas en tiempo de ejecución de una manera especulativa, además de la vectorización estática del tiempo de compilación. Hay diferentes entornos que permiten el profiling y la optimización dinámica. Dos de los más prominentes son: 1) traductores y optimizadores dinámicos de binario (dbto) y 2) procesadores co-diseñados hardware/software (hw/sw) . El co-diseño hw/sw ofrece varias ventajas sobre los dbtos como incorporación transparente de las nuevas características de hardware, retro-compatibilidad binaria, etc por lo tanto, utilizamos el entorno de co-diseño hw/sw para evaluar el potencial de la vectorización dinámica especulativa. además, se analiza la generación de código vectorial para las unidades simd más amplias y descubrir que a pesar de que los aceleradores simd son susceptibles de ampliación desde el punto de vista del hardware, la generación de código vectorial para las unidades de vectores más amplios es aún más difícil. Los dos factores principales que impiden la vectorización para las unidades simd más amplias son los siguientes: 1) el menor potencial de instrucciones dinámicas para la vectorización y 2) un gran número de instrucciones de permutación. Para resolver el primer problema proponemos vectorización de longitud variable que vectoriza iterativamente para múltiples longitudes de los vectores para mejorar la cobertura dinámica de instrucciones. En segundo lugar, para reducir el número de instrucciones de permutación proponemos escritura selectiva que escribe selectivamente a diferentes partes de un registro vector y evita permutaciones. finalmente, abordamos el problema del leakage en los aceleradores simd. Como los aceleradores simd consumen gran cantidad de recursos en el chip, se convierten en la principal fuente de leakage si no se utilizan con criterio. Power gating es una de las técnicas más utilizadas para reducir el leakage de las unidades funcionales. Sin embargo, la técnica tiene su propia sobrecarga de energía y de rendimiento asociada con ella. Proponemos devectorizar selectivamente el código vectorial cuando se utilizan la parte alte de los vectores simd intermitentemente. Esta devectorización selectiva mantiene parte de las unidades simd reposo durante más tiempo. Por lo tanto, resulta en la reducción global del leakage.

 

Datos académicos de la tesis doctoral «Optimizing simd execution in hw/sw co-designed processors«

  • Título de la tesis:  Optimizing simd execution in hw/sw co-designed processors
  • Autor:  Rakesh Kumar
  • Universidad:  Politécnica de catalunya
  • Fecha de lectura de la tesis:  24/07/2014

 

Dirección y tribunal

  • Director de la tesis
    • Alejandro Martinez Vicente
  • Tribunal
    • Presidente del tribunal: babak Falsafi
    • raul Martinez morais (vocal)
    • (vocal)
    • (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio