Proxecto de mellora da hixiene de mans na hospitalización ...
Optimización Hardware e Mellora da Funcionalidade de Redes Celulares Non Lineais
description
Transcript of Optimización Hardware e Mellora da Funcionalidade de Redes Celulares Non Lineais
Optimización Hardware e Mellora Optimización Hardware e Mellora da Funcionalidade de Redes da Funcionalidade de Redes
Celulares Non LineaisCelulares Non Lineais
Autora: Natalia Abel Fernández GarcíaAutora: Natalia Abel Fernández García
Directores: Victor Brea SánchezDirectores: Victor Brea Sánchez
Diego Cabello FerrerDiego Cabello Ferrer
22
DESCRIPCIÓN DA APLICACIÓN •Linguaxe natural
•Especificacións Iniciais
VALIDACIÓN SOFTWARE•Linguaxes software
de alto nivel•Restricións adicionais
DESCRIPCIÓN DA ARQUITECTURA•Software específico
•Restricións específicas
DESEÑO HARDWARE
ContextualizaciContextualizaciónón
OffsetOut_A0
Out_A8
sel_ep
Out_A8
+
Out_A0
+
sel_ep
startck
sel_A(0)
start
Initial or FinalContour Image
CP
D(3
)
reset
sel_A (0)+
A_0 A_1 A_2 A_3 A_4 A_5 A_6 A_7 A_8
Out_A0 Out_A1 Out_A2 Out_A3 Out_A4 Out_A5 Out_A6 Out_A7 Out_A8
+ +
++++
+
+
+
+
+
++
+++
+
A_1 A_2 A_3 A_4 A_5 A_6 A_7 A_8
Out_A0 Out_A1 Out_A2 Out_A3 Out_A4 Out_A5 Out_A6 Out_A7 Out_A8
A_0Off
Offset
llm(3)
sd_n
ext_ l
int_l0
eng_n
eng_seng_w
eng_e
EP-IE Block
AdderCir cuit
d_out
ck_spm
col_sel
sel_A(1)
sel_A (1)+
sel_A (2)+
sel_A (3)+
out
out
eng_neigh
llm(3)CPD(3)
sd_wsd_esd_sckckpckn
vbias1vbias2
IE(3)sel_ep
X Y
LLM(1) LLM(2) LLM(3) LLM(4) SPM
+
col_sel_ep
B/W Cell
Gra
y-Sc
ale
Cel
l
InterfaceCircuitry
MOTIVACIÓNMOTIVACIÓN 33
Arquitectura base: CNNArquitectura base: CNN
ijkljiNlkijklkl
jiNlkijklijij IuBtyAtxtx
dt
d
rr
),(,),(,
)()()(
ijkljiNlkijklkl
jiNlkijklij IuBnyAnx
rr
),(,),(,
)()1(
)( ijij xfy f(x)
x
+1
+1
-1
-1
+1
+1
-1
-1
f(x)
x
f(x)
x
+1
+1
-1
-1
A
B
G F
I
Y
U
x y
Cela
MOTIVACIÓNMOTIVACIÓN 44
0.750.75 11 0.750.75
11 00 11
0.750.75 11 0.750.75
00A= B= I=0 0 -4-4 00
-4-4 -2-2 -4-4
00 -4-4 00
0.250.25 00 0.250.25
00 00 00
0.250.25 00 0.250.25
00A= B= I=-0.25 -0.25 00 -0.25-0.25
00 0.250.25 00
-0.25-0.25 00 -0.25-0.25
00 -0.19-0.19 00
-0.19-0.19 00 -0-19-0-19
00 -0.19-0.19 00
00A= B= I=1.51.5 -0.5-0.5 1.51.5
-0.5-0.5 -6-6 -0.5-0.5
1.51.5 -0.5-0.5 1.51.5
Marco CNNMarco CNN
55
Motivación
Emulación de patróns de gran veciñanza
Redución de hardware
Conclusións e traballo futuro
ÍndiceÍndice
MotivaciónMotivación
20/04/2320/04/23 66
Dous problemas Dous problemas fundamentaisfundamentais
• Patróns de gran veciñanzaPatróns de gran veciñanza
• Requirimento de área mínimaRequirimento de área mínimaOffsetOut_A0
Out_A8
sel_ep
Out_A8
+
Out_A0
+
sel_ep
startck
sel_A(0)
start
Initial or FinalContour Image
CP
D(3
)
reset
sel_A (0)+
A_0 A_1 A_2 A_3 A_4 A_5 A_6 A_7 A_8
Out_A0 Out_A1 Out_A2 Out_A3 Out_A4 Out_A5 Out_A6 Out_A7 Out_A8
+ +
++++
+
+
+
+
+
++
+++
+
A_1 A_2 A_3 A_4 A_5 A_6 A_7 A_8
Out_A0 Out_A1 Out_A2 Out_A3 Out_A4 Out_A5 Out_A6 Out_A7 Out_A8
A_0Off
Offset
llm(3)
sd_n
ext_ l
int_l0
eng_n
eng_seng_w
eng_e
EP-IE Block
AdderCir cuit
d_out
ck_spm
col_sel
sel_A(1)
sel_A (1)+
sel_A (2)+
sel_A (3)+
out
out
eng_neigh
llm(3)CPD(3)
sd_wsd_esd_sckckpckn
vbias1vbias2
IE(3)sel_ep
X Y
LLM(1) LLM(2) LLM(3) LLM(4) SPM
+
col_sel_ep
B/W Cell
Gra
y-Sc
ale
Cel
l
InterfaceCir cuitry0,6 6,4
0,1 0,6 1,8
1,8
2,7
6,4 15,424,7
29,4
3.2
3.2
3,8
3,8
10,1
10,1
11,7
11,7
24,7
29,4 54,243,2
43,236,4
0,6 6,4
0,1 0,6 1,8
1,8
2,7
6,4 15,4
1,8
3.2 10,1
15,4
1,8
3.2
6,4
6,4
10,1
15,4 15,4
24,7
24,7
24,7
24,7
24,7
24,7
29,4
29,4
36,4
43,2
43,2
36,4 36,4
24,7
29,4
3.2
3.2
3,8
3,8
10,1
10,1
11,7
11,7
24,7
29,4 54,243,2
43,236,4
0,6 6,4
0,1 0,6 1,8
1,8
2,7
6,4 15,4
77
Motivación
Emulación de patróns de gran veciñanza
Redución de hardware
Conclusións e traballo futuro
ÍndiceÍndice
Emulación de patróns de gran veciñanzaEmulación de patróns de gran veciñanza
Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
88
Solucións previasSolucións previas
Descomposición e realimentación Descomposición e realimentación
Innovación hardwareInnovación hardware
Fragmentación e desprazamentoFragmentación e desprazamento
Baseadas en mapas de polarizaciónBaseadas en mapas de polarización
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
99
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
Descomposición e RealimentaciónDescomposición e Realimentación
K. Slot (1991):
33334
333
332
331
55 ˆˆ xAUX
xxxxx AAAAAA 2
15
2
3)( 1 rrNO
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1010
Transformacións profundas a nivel de arquitectura ou dispositivo
Innovación HardwareInnovación Hardware
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
Conexións físicas directas limitadas permitidas grazas á simplificación do hardware nos elementos de procesamento
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1111
• Patrón B en CTCNNs
• Patróns múltiplos enteiros de 3
• Desprazamento do resultado
Fragmentación e DesprazamentoFragmentación e DesprazamentoK.R. Crounse (1997): propiedades da convolución
M.H. ter Brugge (1998): morfoloxía matemática
3)( rrNO
• DTCNNs
• Patróns múltiplos enteiros de 3
• Imaxes binarias
• Desprazamento compartidos dos sub-patróns
2)( rrNO
L. Koskinen (2004): desprazamentos hardware
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1212
Mapas de PolarizaciónMapas 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ñaEmulación de Patróns de Gran Veciñanzanza
1313
Metodoloxía de Metodoloxía de Fragmentación e Fragmentación e DesprazamentoDesprazamento
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1414
Restricións:
DTCNN OU B-CTCNN
FUNCIÓN DE SAÍDA CUASILINEAL E ESTADO LIMITADO EN RANGO OU ACCESO AO ESTADO
Vantaxes:
IMPLEMENTACIÓN SIMPLE EN HW XENÉRICO
SIMPLICIDADE NA DETERMINACIÓN DAS OPERACIÓNS
Metodoloxía de Fragmentación e Metodoloxía de Fragmentación e DesprazamentoDesprazamento
Partición de patróns e acumulación de resultados parciaisPartición de patróns e acumulación de resultados parciais
Clave : PROPIEDADE ASOCIATIVA DA SUMA
Decomposición e acumulación:Decomposición e acumulación:
cdcd
dcd
c iubnyanx )()1(
cfcf
ece
dcd
fcf
ece
dcd
c iubububnyanyanyanx ......)()()()1(
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1515
1.1. FRAGMENTAR FRAGMENTAR patróns (2r+1)x(2r+1) en patróns 3x3 (r Z+, r > 1)
Patróns DerivadosPatróns Derivados
-- PATRÓNS COMBINADOS NUN ALGORITMO DE VARIAS FASES ---- PATRÓNS COMBINADOS NUN ALGORITMO DE VARIAS FASES --
2.2. DESPRAZAR DESPRAZAR imaxes e ACUMULAR e ACUMULAR resultados parciais na cela central
Patróns de DesprazamentoPatróns de Desprazamento
Técnicas de Técnicas de Fragmentación e DesprazamentoFragmentación e Desprazamento
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1616
FASE 1: FASE 1: FRAGMENTACIÓNFRAGMENTACIÓN
Agrupación espacial dos coeficientes do patróns orixinal
Orde
Regularidade
Evitar illamento de coeficientes (esquinas)
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1717
FASE 1: FASE 1: FRAGMENTACIÓNFRAGMENTACIÓN
2
3
12)(
r
rD
Número Mínimo de Patróns Derivados
Concéntrica
Filas
Árbore de fragmentación
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1818
13x13 => r =613x13 => r =6 => 25 D=> 25 D
FASE 1: FASE 1: FRAGMENTACIÓNFRAGMENTACIÓN
2
3
12)(
r
rD
Número Mínimo de Patróns Derivados
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
1919
• Técnicas de imaxe fixa Desprazamento de resultados a acumular
• Técnicas de imaxe desprazada Desprazamento da imaxe antes de calcular os productos
FASE 2: DESPRAZAMENTO E FASE 2: DESPRAZAMENTO E ACUMULACIÓNACUMULACIÓN
Implicacións:
Nº de operacións de desprazamento
Aspectos circuitería (tipo de dato, número de memorias)
Técnicas de desprazamentoTécnicas de desprazamento
• Operacións CNN
• Hardware específico
Solucións de acumulaciónSolucións de acumulación
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2020
TTÉCNICAS DE ÉCNICAS DE IIMAXE MAXE DDESPRAZADAESPRAZADA:arquitectura a nivel de sistema
P. DESP.
+Memoria
Memoria anal xica ó
Imaxe de entrada
(bin/cont) (bin/cont)
(cont)
P. DERIV.
(cont)
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2121
ImaxeImaxe
TTÉCNICAS DE ÉCNICAS DE IIMAXE MAXE DDESPRAZADAESPRAZADA:
Patrón Patrón 13x1313x13
(25 patróns (25 patróns derivados)derivados) CNNCNN
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2222
TTÉCNICAS DE ÉCNICAS DE IIMAXE MAXE DDESPRAZADAESPRAZADA:
Patrón Patrón 13x1313x13
(25 patróns (25 patróns derivados)derivados) CNNCNN
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2323
TTÉCNICAS DE ÉCNICAS DE IIMAXE MAXE FixaFixa:arquitectura a nivel de sistema
+
Memoria Analóxica
(cont)
Memoria
Imaxe de entrada
(cont)
(bin/cont)
P. DESP.P. DERIV.
s1/s
(cont)
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2424
ImaxeImaxe
Patrón Patrón 13x1313x13
(25 patróns (25 patróns derivados)derivados) CNNCNN
TTÉCNICAS DE ÉCNICAS DE IIMAXE MAXE FixaFixa
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2525
Patrón Patrón 13x1313x13
(25 patróns (25 patróns derivados)derivados) CNNCNN
ImaxeImaxe
TTÉCNICAS DE ÉCNICAS DE IIMAXE MAXE FixaFixa
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2626
TÉCNICAS DE DESPRAZAMENTO TÉCNICAS DE DESPRAZAMENTO E ACUMULACIÓNE ACUMULACIÓN
Técnicas de desprazamento: Técnicas de desprazamento: (de imaxe ou resultado)(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)
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2727
FASE 2: DESPRAZAMENTO E FASE 2: DESPRAZAMENTO E ACUMULACIÓNACUMULACIÓN
Independente
DependenteZigzag
DependenteConcéntrico
DependenteCentral
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2828
0
20
40
60
80
100
0 2 4 6 8r
nº de
spraz
amen
tos
Crecemento do nº de desprazamentos coa orde de veciñanza
0
2000
4000
6000
8000
10000
12000
0 5 10 15 20 25 30 35r
nº
des
pra
zam
ento
s
Téc. Desprazamentos Independentes Téc. Despraz. Depend. Centrais
Téc. Despraz. Depend. Zigzag "Téc. Despraz. Depend. Concéntricos"
Crecemento do nº de desprazamentos coa orde de veciñanza
0
500
1000
1500
0 5 10 15 20 25 30 35r
nº
des
pra
zam
ento
s
"Téc. Despraz. Depend. Centrais" "Téc. Despraz. Depend. Zigzag"
"Téc. Despraz. Depend. Concéntricos"
COMPARATIVA TÉCNICAS DESPRAZAMENTO: Nº OPERACIÓNS
20/04/2320/04/23 Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
2929
Exemplo: Difusión 5x5 Difusión 5x5((Desprazamento da imaxe))
1st Ite r. 2nd Ite r. 3 rd Ite r. 4 th Iter.
S hift
D ecom .&
A ccum .
Desp.
Aplic.e
Acu.
ª ª ªª
Emulación de Patróns de Gran VeciñaEmulación de Patróns de Gran Veciñanzanza
3030
2)( rrNO
Tempos de operación CNN:
Implementación Binaria ~ 100 ns
Implementación Estándar ~ 1 µs
Tempo carga-descarga imaxe:
128x128 ~ 1ms0
200
400
600
800
1000
1200
1400
1600
1800
2000
0 5 10 15 20 25 30 35
r
Nº
Tota
l de
Ope
raci
óns
0
10
20
30
40
50
60
0 1 2 3 4 5 6
r
Nº
To
tal d
e O
per
ació
ns
0
10
20
30
40
50
60
70
80
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
r
Te
mp
o d
e e
xe
cu
ció
n (
us
)
Realimentación - Implementación estándar Fragmentación - Implementación binaria
Fragmentación - Implementación estándar Realimentación xeralizada - Implementación estándar
25 fps // 1000 ops/frame ~ 40 µs/op
IMPLICACIÓNS: OPERACIÓNS - TEMPO DE COMPUTACIÓN
~ 13000 ops/frame 9x9
~ 9000 ops/frame 11x11
0
3
6
9
12
15
18
21
1 2 3 4 5 6 7 8 9 10
r
Tem
po d
e E
xecu
ción
(us)
3131
Motivación
Emulación de patróns de gran veciñanza
Redución de hardware
Conclusións e traballo futuro
ÍndiceÍndice
Redución de hardware Redución de hardware
Redución de HardwareRedución de Hardware 3232
O problemaO problema
a ba b a b
a b a b a b
a b a b a b
2 PATRÓNS DE PONDERACIÓN2 PATRÓNS DE PONDERACIÓN
OffsetOut_A0
Out_A8
sel_ep
Out_A8
+
Out_A0
+
sel_ep
startck
sel_A(0)
start
Initial or FinalContour Image
CP
D(3
)
reset
sel_A (0)+
A_0 A_1 A_2 A_3 A_4 A_5 A_6 A_7 A_8
Out_A0 Out_A1 Out_A2 Out_A3 Out_A4 Out_A5 Out_A6 Out_A7 Out_A8
+ +
++++
+
+
+
+
+
++
+++
+
A_1 A_2 A_3 A_4 A_5 A_6 A_7 A_8
Out_A0 Out_A1 Out_A2 Out_A3 Out_A4 Out_A5 Out_A6 Out_A7 Out_A8
A_0Off
Offset
llm(3)
sd_n
ext_ l
int_l0
eng_n
eng_seng_w
eng_e
EP-IE Block
AdderCir cuit
d_out
ck_spm
col_sel
sel_A(1)
sel_A (1)+
sel_A (2)+
sel_A (3)+
out
out
eng_neigh
llm(3)CPD(3)
sd_wsd_esd_sckckpckn
vbias1vbias2
IE(3)sel_ep
X Y
LLM(1) LLM(2) LLM(3) LLM(4) SPM
+
col_sel_ep
B/W Cell
Gra
y-Sc
ale
Cel
l
InterfaceCir cuitry
Redución de HardwareRedución de Hardware 3333
Redución do número de circuítos ponderadores
Simplificación hardware dos circuítos ponderadores
aa a
a a b a
a a a
aa a
a a a
a a a
a
Output
Input
Multiplicador 4Q Multiplicador 2Q
Input
Output
Multiplicador 1Q
Input
Output
4Q
2Q
1Q
Binario Binario 1 bit
Solucións previasSolucións previas
2 ORIENTACIÓNS PRINCIPAIS(Combinables)
Melloras mediante restricións nos niveis de deseño máis altos, incluso algorítmico
Redución de HardwareRedución de Hardware 3434
a 12
a 22
a 21
a 13 a 11
a 23
a 33 a 32 a 31a 11 a 12 a 13
a 21 a 22 a 23
a 31 a 32 a 33
a 21
a 11
a 31
a 21
a 31
a 11
a 21
a 11
a 31
A nosa propostaA nosa proposta
20/04/2320/04/23 Redución de HardwareRedución de Hardware 3535
““FragmentacióFragmentación e n e
DesprazamentDesprazamento”o”
TÉCNICAS CONFIGURACIÓNS
matiz:
““Fragmentación e Fragmentación e Desprazamento”Desprazamento”
20/04/2320/04/23 Redución de HardwareRedución de Hardware 3636
FASE 1: FASE 1: FRAGMENTACIÓNFRAGMENTACIÓN
Agrupación espacial dos coeficientes do patróns orixinal
• Preservar as posicións relativas dos coeficientes
• Incluír todos os coeficientes unha única vez
reubicándoos nas posicións permitidas dos sub-patróns
20/04/2320/04/23 Redución de HardwareRedución de Hardware 3737
FASE 1: FASE 1: FRAGMENTACIÓNFRAGMENTACIÓN
-
-
-
-
-
a13
a23
a33
-
-
-
-
-
-
a12
a22
a32
-
-
-
-
-
-
a11
a21
a31
-
a11 a12 a13
a21 a22 a23
a31 a32 a33
b
a
c
Exemplo ilustrativo
20/04/2320/04/23 Redución de HardwareRedución de Hardware 3838
1
2
1
a21
a11
a31
a12
a22
a32
a13
a23
a33
1(1)
-
-
-
-
- -
-
-
-
--
-
-
-
-
2(1)
- - -
1
2
1
a21
a11
a31
a12
a22
a32
a13
a23
a33
2(1)-
-
-
-
- -
-
-
-
- -
-
-
-
-
1(1)
a13
a23
a33
a12
a22
a32
a11
a21
a31
- - -
DESPRAZAMENTO DESPRAZAMENTO DE IMAXEDE IMAXE
DESPRAZAMENTO DESPRAZAMENTO DE RESULTADODE RESULTADO
COMPARTIR DESPRAZAMENTOS
FASE 2: DESPRAZAMENTO E FASE 2: DESPRAZAMENTO E ACUMULACIÓNACUMULACIÓN
DESPRAZAMENTO DESPRAZAMENTO DE RESULTADODE RESULTADO
Exemplo ilustrativo
20/04/2320/04/23 Redución de HardwareRedución de Hardware 3939
a21
a11
a31
a21
a31
a11
a21
a11
a31 -
- -
- -
-
a23
a21
a31
a11
a23
a11
a31 -
-
- -
-
a21
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
Desprazamentos: Desprazamentos: Configuracións ProibidasConfiguracións Proibidas
FASE 2: DESPRAZAMENTO E FASE 2: DESPRAZAMENTO E ACUMULACIÓNACUMULACIÓN
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4040
N úm ero de O peracións(D e rivad as + D esp razam en tos)
N úm ero de C ircuítos de P onderación
9876 54 321
12 + 12 + 12 + 1 3 + 23 + 2 5 + 5
COMPROMISO: ÁREA-TEMPO DE COMPUTACIÓN
Elección da configuración
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4141
Definición de RPO (porcentaxe de Redución de hardware
Por Operación incrementada por operación orixinal):
RPO(nc) =RH(nc) · 100
FIO(nc) − 1
0/016.6713.897.41
RPO (%)nc
135
10
96 4 3
RH FIO
01/35/92/3
COMPROMISO: ÁREA-TEMPO DE COMPUTACIÓN
Elección da configuración
RPO vs Restricións do deseño
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4242
Dúas posibilidades:
• A e B con hardware e redución independente
• A e B con compartición de hardware
Patróns derivados secuenciais simultáneos
Desprazamentos compartidos para Y=U ou desprazamento de resultado
Patróns derivados simultáneos
Desprazamentos compartidos para Y=U ou desprazamento de resultado (=> conserva valor RPO dos patróns independentes)
Aplicación a Operacións CNN con dous patróns de ponderación ( A e
B)
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4343
0/016.6713.897.41
R P O (% )n c
135
10
96 4 3
R HF IO
h w in de p . e de sp r. co m p .A & B
01/35/92/3
5016.6711 .115 .95
n c
5013.138 .644 .39
96 4 3
R P O (% ) in de p en d en te
A & B h a rd w are
R P O (% ) A & B h a rdw a re e d e sp raz . co m p artido
0 /011 .119 .264 .76
R P O (% ) A & B h a rd w are co m p artid o
Operacións CNN con dous patróns de ponderación ( A e B)
COMPROMISO: ÁREA-TEMPO DE COMPUTACIÓN
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4444
Aplicación a Aplicación a algoritmos algoritmos complexoscomplexos
• 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
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4545
Algoritmos Algoritmos
complexos:complexos:““Pixel Level Snakes” Pixel Level Snakes” (PLS)(PLS)
Implementación de partida:Implementación de partida: 1Q1bit Binario 1Q1bit Binario
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4646
G/SG/S
B/WB/W
Algoritmo PLS
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4747
Algoritmos complexos:Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit “Pixel Level Snakes (PLS)-1Q1bit
Binario”Binario”Restricións da arquitectura de partida (tecnoloxía 0.18u):Restricións da arquitectura de partida (tecnoloxía 0.18u):
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)
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4848
Algoritmos complexos:Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit “Pixel Level Snakes (PLS)-1Q1bit
Binario”Binario”Marxe temporal (128x128):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)
Nota: Nota: peor caso 1 patrón, FIO=10 / 2 patróns, FIO=20peor caso 1 patrón, FIO=10 / 2 patróns, FIO=20
Peor caso PLS (HF=64ops) = 1112 ops CNN/iter.
20/04/2320/04/23 Redución de HardwareRedución de Hardware 4949
Algoritmos complexos:Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit “Pixel Level Snakes (PLS)-1Q1bit
Binario”Binario”Diagrama de fluxo: seccións críticasDiagrama de fluxo: seccións críticas
20/04/2320/04/23 Redución de HardwareRedución de Hardware 5050
Algoritmos complexos:Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit “Pixel Level Snakes (PLS)-1Q1bit
Binario”Binario”Tipos de Operacións/PatrónsTipos de Operacións/Patróns
T1: A= 0
0
1
0
0
0
0
0
0
B= 1
0
0
0
0
0
0
0
0
OR/AND: A= B= 1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
T4= 1
0
0
0
0
1
0
0
0
T5= 1
0
0
1
0
0
0
0
0
T2= 1
0
1
0
0
0
0
0
0
T3= 1
1
0
0
0
0
0
0
0
T10= 0
1
1
1
1
1
1
1
1
T8= 0
1
1
1
0
0
1
0
0
T6= 1
0
0
0
0
0
0
0
1
T7= 1
0
0
0
0
0
1
0
0
T9= 1
1
1
1
0
0
1
0
0
20/04/2320/04/23 Redución de HardwareRedución de Hardware 5151
Algoritmos complexos:Algoritmos complexos:“Pixel Level Snakes (PLS)-1Q1bit “Pixel Level Snakes (PLS)-1Q1bit
Binario”Binario”
Elección conservadora: configuración 5+1
B
A
Só 3 ops. emuladas
RH = 40%
FIO = 1,022 (2,2%)
RPO = “1.118,2 %”
20/04/2320/04/23 Redución de HardwareRedución de Hardware 5252
G/SG/S
B/WB/W
Algoritmo PLS: gran veciñanza
20/04/2320/04/23 Redución de HardwareRedución de Hardware 5353
Algoritmos Algoritmos
complexos:complexos:Gran veciñanzaGran veciñanza
• Non partir da descomposición en 3x3: “re-descompoñer”
• Desprazamento zigzag (menor número de direccións e fácil de
combinar LN e RH)
20/04/2320/04/23 Redución de HardwareRedución de Hardware 5454
Algoritmos complexos:Algoritmos complexos:“Pixel Level Snakes” (PLS)“Pixel Level Snakes” (PLS)
1Q1bit Binario – Gran veciñanza1Q1bit Binario – Gran veciñanza
Por consistencia: configuración 5+1
A
B1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
1 1 1 1 1 1 1 11
RH = 40%
FIO (LN) = 2
RPO (LN) = 40 %
RH = 40%
FIO (PLS) = 1,223
RPO (PLS) = “180%”
Redución de HardwareRedución de Hardware 5555
Implicacións Implicacións hardwarehardware
Area vs tempo de procesamento:
entre DTCNN e SIMD clásica (tipo bit-slice) reducción número de coeficientes e conexións incremento no uso de memoria
Necesidade de memoria analóxica (mínimo 1) sempre incremento do número de accesos á memoria global de patróns, con elevado
fan-out
Desapareamento, precisión e consumo de potencia:
menor área => posibilidade de aumentar tamaño dispositivos => minimización do desapareamento => maior precisión => diminúe límite mínimo de disipación de potencia menor número de coeficientes en execución => agardamos menor consumo
por ciclo de reloxo
5656
Motivación
Emulación de patróns de gran veciñanza
Redución de hardware
Conclusións e traballo futuro
ÍndiceÍndice
Conclusións e traballo futuroConclusións e traballo futuro
5757
Conclusións Conclusións e traballo futuroe traballo futuro
Mellora da funcionalidade CNN: emulación de patróns de grande veciñanza
Revisión de técnicas Metodoloxía de Fragmentación e Desprazamento Implicacións: tempo de procesamento
Mellora na implementación hardware CNN: redución da área
Revisión de técnicas Adaptación da metodoloxía de Fragmentación e
Desprazamento Introdución de medida de rendemento RPO Implicacións temporais e hardware
Aplicouse a metodoloxía a un caso complexo e déronse datos do compromiso área-tempo de procesamento
A implementación física das propostas realizadas será o seguinte paso na verificación das mesmas e na
determinación das verdadeiras vantaxes achegadas.
Optimización Hardware e Mellora Optimización Hardware e Mellora da Funcionalidade de Redes da Funcionalidade de Redes
Celulares Non LineaisCelulares Non Lineais
Autora: Natalia Abel Fernández GarcíaAutora: Natalia Abel Fernández García
Directores: Victor Brea SánchezDirectores: Victor Brea Sánchez
Diego Cabello FerrerDiego Cabello Ferrer