Nicolás Wolovick 20200406
Obtener lo máximo de un núcleo.
Dependiendo de la aplicación los límites pueden ser:
(usualmente memory-bound, excepto tests para lucirse: TOP500)
Usualmente referido a GFLOPS.
#FPU x Clock x #Core
¿Punto flotante simple fp32
o doble fp64
?
TOP500 usa fp64
.
fp64
Extraídos de: Alpha [Parello'02], Tegra2 [Ramirez'11], Core i7 960 [Hennessy'11], Xeon E5 2680 [guesstimated], GTX 480 [Wikipedia + 1/8 of f32 GFLOPS], Tesla C2075 [NVIDIA], GTX Titan X [Wikipedia + 1/32 fp32].
n
-F
Donde n
es 1,2,3,4 y F
es la frecuencia.
BW = channels × 8 (64 bits) × F
Ejemplo, para zx81
bw(DDR4-1600) = 4×8×1600 = 51.2 GBps
El n
está metido dentro de la frecuencia, es un truco para abstraer la velocidad real que sigue siendo entre 100 MHz y 233 MHz.
BW = buswidth × F
Ejemplo, para una Titan X
48 (384 bits) × 7 = 336 GBps
(¡Gracias Charlie por estos datos!)
Extraídos de: Core i7 960 [Intel], Core i7 3960X [Anandtech, Intel], GTX 480 [Hennessy'11], Tesla C2075 [NVIDIA].
1 # ## # #
2 # ## m m mmmmm mmm m mm mm#mm mmm m mm mmm #
3 # # # # # # # # #" # #" # # " # # # # #
4 # #mm# # # # # # #"""" # # # m"""# # #"""" #
5 # # # "mm"# # # # "#mm" # # "mm "mm"# # "#mm" "mm
6
7
8 # #mmmm # # o
9 # # # mmm m mm mmm # mmm # mmm mmm mmmmm mmm
10 # #mmm# # # # # # # # # # # # # # #
11 # # m```# # m```# # #"""" # # """m # # # # #
12 # # "mm"# # "mm'# "mm "#mm mm mm#mm mmm # # # "#m#"
q = flop/bytes
FIGURE 6.17 Arithmetic intensity, specified as the number of float-point operations to run the program divided by the number of bytes accessed in main memory [Williams, Waterman, and Patterson 2009]
FLOPS/Intensidad = BW
Si conozco la intensidad aritmética de mi problema la relación entre el BW y FLOPS es lineal.
FLOPS = BW * Intensidad
Limitado por el pico teórico de FLOPS de la máquina.
Ancho de banda de 16 GiB/s.
Performance pico de 16 GFLOPS.
Típico: aumentar cores sin tocar el subsistema de memoria.
Computadora desbalanceada.
Como cambia el modelo según el grado de optimización (FLOP & Memoria).
Lorena A. Barba, Rio Yokota, How will the fast-multipole method fare in the exascale era?, 2013.
La cantidad de transistores se duplica cada 18 meses. G. Moore, Electronics 38(8) April 19, 1965.
Es una observación de mercado, no una ley de la física.
Profecía autocumplida.
Nada cambió.
Esta si es una ley de la ¿física? ¿electrónica?
Posibilitó "ley" de Moore se mantuviera por 30 años.
Observar: transistores son más pequeños y densidad de potencia es constante.
MOSFETs continue to function as voltage-controlled switches while all key figures of merit such as layout density, operating speed, and energy efficiency improve – provided geometric dimensions, voltages, and doping concentrations are consistently scaled to maintain the same electric field.
En el 2001 se acabó la veta del ILP.
Bill Dally, The Last Classical Computer, 2001.
Gordon Moore, An Update on Moore's Law, Keynote Presentation at ISSCC 2003.
Herb Sutter, The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software, 2005.
Bill Dally, Efficiency and Programmability: Enablers for ExaScale, SC13.
-
(efficiency IS performance)
-
(locality IS performance)
.
.
Bill Dally, Efficiency and Programmability: Enablers for ExaScale, SC13.
Xin Wang, Flexpoint: numerical innovation underlying the Intel® Nervana™ Neural Network Processor, Intel, 2017.
Comunicación, distancia y potencia en un chip típico de 20mm × 20mm = 400mm².
Bill Dally, Efficiency and Programmability: Enablers for ExaScale, SC13.
Microprocessor (single core) performance scales roughly as the square root of its complexity, where the logic transistor count is often used as a proxy to quantify complexity.
Pollack's rule using CPU DB: performance vs. transistor count. The regression yields Perfnorm = ntrans^{0.37}.
Pollack's rule using CPU DB: performance vs. normalized area. The regression yields Perfnorm = ntrans^{0.46}.
¿Porqué son multicore los chips?
Solución agregar más cores
¿Solución agregar más cores?
¡Si prendo todos los transistores, se prende fuego!
¡GAAAAPPP!
Dos soluciones:
Limitar TDP no usando todos los transistores.
Cuando compramos una CPU/GPU tenemos muchos módulos que raramente usamos todos a la vez.
H. Esmaeilzadeh, E. Blem, R. St. Amant, K.Sankaralingam, D. Burger, Dark Silicon and the End of Multicore Scaling, ISCA11.
Dejar que todo se prenda fuego ...
... pero medir la temperatura.
No se puede suponer que la frecuencia esté fija. Hacer mediciones continuas de la frecuencia durante todo el proceso de cálculo.
Si, enseñamos Taxonomía de Flynn en Lic. en Cs. de la Computación.
Gráfico de Guillermo Ortiz, exámen de WHPC13.
…the effort expended on achieving high parallel processing rates is wasted unless it is accompanied by achievements in sequential processing rates of very nearly the same magnitude.
— Gene Amdahl
¡Siempre necesitaremos buena preformance en 1 hilo!
Wikipedia, Amdahl's Law.
0.25%
(Hennessy, Patterson, CAAQA4, p.202)
AGGGGGGGGGGGG!
La ley de Amdahl's pone límites muy fuertes en la paralelización.
…speedup should be measured by scaling the problem to the number of processors, not by fixing the problem size.
— John Gustafson
Supone que el data-set aumenta linelmente con la cantidad de procesadores.
Although simply scaling the data size with processor count is rarely appropriate, assuming a fixed problem size for a much larger processor count is often inappropriate as well, since it is likely that users given a much larger multiprocessor would opt to run a larger or more detailed version of an application.
(Hennessy, Patterson, CAAQA4, p.259)
El tiempo de procesamiento baja a medida que agregamos "cores" para un problema de tamaño fijo.
El tiempo de procesamiento no aumenta a medida que agregamos "cores" para un problema de tamaño variable.
Capítulo 1 de Power-Efficient Computer Architectures, Synthesis Lectures on Computer Architecture:
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |