580 likes | 727 Views
Optimización Hardware e Mellora da Funcionalidade de Redes Celulares Non Lineais. Autora: Natalia Abel Fernández García Directores: Victor Brea Sánchez Diego Cabello Ferrer. Contextualización. Arquitectura base: CNN. Marco CNN. A=. I=. B=. A=. I=. B=. A=. B=. I=. Índice.
E N D
Optimización Hardware e Mellora da Funcionalidade de Redes Celulares Non Lineais Autora: Natalia Abel Fernández García Directores: Victor Brea Sánchez Diego Cabello Ferrer
Arquitectura base: CNN MOTIVACIÓN
Marco CNN A= I= B= A= I= B= A= B= I= MOTIVACIÓN
Índice • Motivación • Emulación de patróns de gran veciñanza • Redución de hardware • Conclusións e traballo futuro Motivación
Dous problemas fundamentais • Patróns de gran veciñanza • Requirimento de área mínima
Índice • Motivación • Emulación de patróns de gran veciñanza • Redución de hardware • Conclusións e traballo futuro Emulación de patróns de gran veciñanza
Solucións previas • Descomposición e realimentación • Innovación hardware • Fragmentación e desprazamento • Baseadas en mapas de polarización Emulación de Patróns de Gran Veciñanza
Descomposición e Realimentación K. Slot (1991): • Premisas: • DTCNN • Función de saída cuasilineal (e estado no rango lineal) • Procesamento de imaxes de grises • Contrapartidas: • Aumento no número de operacións Emulación de Patróns de Gran Veciñanza
POAC (Optical Programmable Array/Analogic Computer):unidade óptica de procesamento BJT CNN (Bipolar Junction Transition):caracteríaticas físicas dos semiconductores, transporte por difusión QCAs (Quantum Cellular Automata):forza de Coulomb Innovación Hardware • Transformacións profundas a nivel de arquitectura ou dispositivo • Conexións físicas directas limitadas permitidas grazas á simplificación do hardware nos elementos de procesamento Emulación de Patróns de Gran Veciñanza
Fragmentación e Desprazamento K.R. Crounse (1997):propiedades da convolución • Patrón B en CTCNNs • Patróns múltiplos enteiros de 3 • Desprazamento do resultado M.H. ter Brugge (1998):morfoloxía matemática • DTCNNs • Patróns múltiplos enteiros de 3 • Imaxes binarias • Desprazamento compartidos dos sub-patróns L. Koskinen (2004):desprazamentos hardware Emulación de Patróns de Gran Veciñanza
Mapas de Polarización R. Akbari-Dilmaghni (1996): suposición de correlación total entre píxeles e corrección mediante mapas de polarización L. Kék (1998):patróns non lineais Emulación de Patróns de Gran Veciñanza
Metodoloxía de Fragmentación e Desprazamento Emulación de Patróns de Gran Veciñanza
Partición de patróns e acumulación de resultados parciais Metodoloxía de Fragmentación e Desprazamento Clave : PROPIEDADE ASOCIATIVA DA SUMA Vantaxes: IMPLEMENTACIÓN SIMPLE EN HW XENÉRICO SIMPLICIDADE NA DETERMINACIÓN DAS OPERACIÓNS Decomposición e acumulación: Restricións: DTCNN OU B-CTCNN FUNCIÓN DE SAÍDA CUASILINEAL E ESTADO LIMITADO EN RANGO OU ACCESO AO ESTADO Emulación de Patróns de Gran Veciñanza
FRAGMENTAR patróns (2r+1)x(2r+1) en patróns 3x3 (r Z+, r > 1) • Patróns Derivados • DESPRAZAR imaxes e ACUMULAR resultados parciais na cela central • Patróns de Desprazamento Técnicas de Fragmentación e Desprazamento -- PATRÓNS COMBINADOS NUN ALGORITMO DE VARIAS FASES -- Emulación de Patróns de Gran Veciñanza
FASE 1: FRAGMENTACIÓN Agrupación espacial dos coeficientes do patróns orixinal Orde Regularidade Evitar illamento de coeficientes (esquinas) Emulación de Patróns de Gran Veciñanza
Número Mínimo de Patróns Derivados FASE 1: FRAGMENTACIÓN Árbore de fragmentación Filas Concéntrica Emulación de Patróns de Gran Veciñanza
Número Mínimo de Patróns Derivados FASE 1: FRAGMENTACIÓN 13x13 => r =6 => 25 D Emulación de Patróns de Gran Veciñanza
Técnicas deimaxe fixa Desprazamento de resultados a acumular • Técnicas deimaxe desprazada Desprazamento da imaxe antes de calcular os productos FASE 2: DESPRAZAMENTO E ACUMULACIÓN Técnicas de desprazamento Solucións de acumulación • Operacións CNN • Hardware específico Implicacións: Nº de operacións de desprazamento Aspectos circuitería (tipo de dato, número de memorias) Emulación de Patróns de Gran Veciñanza
TÉCNICAS DE IMAXE DESPRAZADA: arquitectura a nivel de sistema Emulación de Patróns de Gran Veciñanza
Imaxe TÉCNICAS DE IMAXE DESPRAZADA: Patrón 13x13 (25 patróns derivados) CNN Emulación de Patróns de Gran Veciñanza
TÉCNICAS DE IMAXE DESPRAZADA: Patrón 13x13 (25 patróns derivados) CNN Emulación de Patróns de Gran Veciñanza
TÉCNICAS DE IMAXE Fixa: arquitectura a nivel de sistema Emulación de Patróns de Gran Veciñanza
Imaxe TÉCNICAS DE IMAXE Fixa Patrón 13x13 (25 patróns derivados) CNN Emulación de Patróns de Gran Veciñanza
Imaxe TÉCNICAS DE IMAXE Fixa Patrón 13x13 (25 patróns derivados) CNN Emulación de Patróns de Gran Veciñanza
TÉCNICAS DE DESPRAZAMENTO E ACUMULACIÓN Técnicas de desprazamento: (de imaxe ou resultado) Independente ou absoluto/intercalado (Fragmentación concéntrica) Dependente ou relativo/acumulativo (Fragmentación concéntrica ou en filas) Combinada CNN-hardware (Fragmentación en árbore) Emulación de Patróns de Gran Veciñanza
FASE 2: DESPRAZAMENTO E ACUMULACIÓN Independente Dependente Central Dependente Concéntrico Dependente Zigzag Emulación de Patróns de Gran Veciñanza
COMPARATIVA TÉCNICAS DESPRAZAMENTO: Nº OPERACIÓNS Emulación de Patróns de Gran Veciñanza
Exemplo: Difusión 5x5 (Desprazamento da imaxe) Desp. Aplic. e Acu. ª ª ª ª Emulación de Patróns de Gran Veciñanza
25 fps // 1000 ops/frame ~ 40 µs/op IMPLICACIÓNS: OPERACIÓNS - TEMPO DE COMPUTACIÓN Tempos de operación CNN: Implementación Binaria~ 100 ns Implementación Estándar ~ 1 µs Tempo carga-descarga imaxe: 128x128 ~ 1ms ~ 13000 ops/frame 9x9 ~ 9000 ops/frame 11x11 Emulación de Patróns de Gran Veciñanza
Índice • Motivación • Emulación de patróns de gran veciñanza • Redución de hardware • Conclusións e traballo futuro Redución de hardware
O problema 2 PATRÓNS DE PONDERACIÓN Redución de Hardware
Output Output Output 4Q 2Q 1Q Input Input Input Binario 1 bit Binario Multiplicador 2Q Multiplicador 1Q Multiplicador 4Q Solucións previas 2 ORIENTACIÓNS PRINCIPAIS (Combinables) Simplificación hardware dos circuítos ponderadores Redución do número de circuítos ponderadores Melloras mediante restricións nos niveis de deseño máis altos, incluso algorítmico Redución de Hardware
A nosa proposta Redución de Hardware
“Fragmentación e Desprazamento” “Fragmentación e Desprazamento” matiz: TÉCNICAS CONFIGURACIÓNS Redución de Hardware
FASE 1: FRAGMENTACIÓN Agrupación espacial dos coeficientes do patróns orixinal reubicándoos nas posicións permitidas dos sub-patróns • Preservar as posicións relativas dos coeficientes • Incluír todos os coeficientes unha única vez Redución de Hardware
FASE 1: FRAGMENTACIÓN Exemplo ilustrativo Redución de Hardware
FASE 2: DESPRAZAMENTO E ACUMULACIÓN Exemplo ilustrativo DESPRAZAMENTO DE RESULTADO DESPRAZAMENTO DE RESULTADO DESPRAZAMENTO DE IMAXE COMPARTIR DESPRAZAMENTOS Redución de Hardware
FASE 2: DESPRAZAMENTO E ACUMULACIÓN Desprazamentos: Configuracións Proibidas Os desprazamentos impoñen restricións no número mínimo de coeficientes e na colocación deles. Excepción: realización hardware (switch) dos desprazamentos Redución de Hardware
Elección da configuración COMPROMISO: ÁREA-TEMPO DE COMPUTACIÓN Redución de Hardware
RH(nc) · 100 RPO(nc) = FIO(nc) − 1 Elección da configuración COMPROMISO: ÁREA-TEMPO DE COMPUTACIÓN Definición de RPO(porcentaxe de Redución de hardware Por Operación incrementada por operación orixinal): RPO vs Restricións do deseño Redución de Hardware
Aplicación a Operacións CNN con dous patróns de ponderación ( A e B) • Dúas posibilidades: • A e B con hardware e redución independente • A e B con compartición • de hardware • Patróns derivados simultáneos • Desprazamentos compartidos para Y=U ou desprazamento de resultado (=> conserva valor RPO dos patróns independentes) • Patróns derivados secuenciais simultáneos • Desprazamentos compartidos para Y=U ou desprazamento de resultado Redución de Hardware
Operacións CNN con dous patróns de ponderación ( A e B) COMPROMISO: ÁREA-TEMPO DE COMPUTACIÓN Redución de Hardware
Aplicación a algoritmos complexos • Restricións da arquitectura de partida • Marxe temporal e restricións de área • Seccións críticas • Tipos de operacións (formas dos patróns, combinacións de dous patróns) En casos particulares podemos acadar RPOs infinitos (>100%) coa configuración adecuada Redución de Hardware
Algoritmos complexos: “Pixel Level Snakes” (PLS) Implementación de partida: 1Q1bit Binario Redución de Hardware
Algoritmo PLS G/S B/W Redución de Hardware
Imaxes binarias Desprazamento de imaxe 10 coeficientes de partida 6 memorias lóxicas Precisamos 1 memoria analóxica mín ~50 us de carga da imaxe (asumimos fotosensores) ~100 ns por operación CNN (incluída carga do patrón) ~1 ms para descargar a imaxe saída (B/N 128x128) Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit Binario” Restricións da arquitectura de partida (tecnoloxía 0.18u): Redución de Hardware
Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit Binario” Marxe temporal (128x128): 25 fps => 40ms/f 10 iteracións ~1 ms para carga e descarga 100 ns por operación CNN Ata 39 000 ops. por iteración Ata 35 novas operacións por operación orixinal (FIO) Peor caso PLS (HF=64ops) = 1112 ops CNN/iter. Nota: peor caso 1 patrón, FIO=10 / 2 patróns, FIO=20 Redución de Hardware
Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit Binario” Diagrama de fluxo: seccións críticas Redución de Hardware
Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit Binario” Tipos de Operacións/Patróns Redución de Hardware