Yoav Etsion Senior Researcher
Task Superscalar: Using Processors as Functional Units
Yoav Etsion Alex Ramirez Rosa M. Badia Eduard Ayguade Jesus Labarta Mateo Valero
HotPar, June 2010
Task Superscalar: Using Processors as Functional Units Yoav Etsion - - PowerPoint PPT Presentation
Task Superscalar: Using Processors as Functional Units Yoav Etsion Alex Ramirez Rosa M. Badia Eduard Ayguade Jesus Labarta Mateo Valero Yoav Etsion HotPar, June 2010 Senior Researcher Parallel Programming is Hard A few key
Yoav Etsion Senior Researcher
HotPar, June 2010
Hot Topics in Parallelism, June 2010 2
Hot Topics in Parallelism, June 2010 3
Hot Topics in Parallelism, June 2010 4
Hot Topics in Parallelism, June 2010 5
Hot Topics in Parallelism, June 2010 6
Hot Topics in Parallelism, June 2010 7
Hot Topics in Parallelism, June 2010 8
Hot Topics in Parallelism, June 2010 9
#pragma css task input(a, b) inout(c) void sgemm_t(float a[M][M], float b[M][M], float c[M][M]); #pragma css task inout(a) void spotrf_t(float a[M][M]); #pragma css task input(a) inout(b) void strsm_t(float a[M][M], float b[M][M]); #pragma css task input(a) inout(b) void ssyrk_t(float a[M][M], float b[M][M]);
Hot Topics in Parallelism, June 2010 10
for (int j = 0; j<N; j++) { for (int k = 0; k<j; k++) for (int i = j+1; i<N; i++) sgemm_t(A[i][k], A[j][k], A[i][j]); for (int i = 0; i<j; i++) ssyrk_t(A[j][i], A[j][j]); spotrf_t(A[j][j]); for (int i = j+1; i<N; i++) strsm_t(A[j][j], A[i][j]); }
Hot Topics in Parallelism, June 2010 11
Hot Topics in Parallelism, June 2010 12
Hot Topics in Parallelism, June 2010 13
Hot Topics in Parallelism, June 2010 14
P P P P
GPU
HW/SW Scheduler
Multiplexed Reservation Stations
P P
MRS MRS MRS MRS
Master Processors Task Dep. Decode
Nested Task Generation
Dispatch Decode Fetch Functional Units
OVT OVT OVT OVT
Task Decode Unit Processors Worker
P P
Hot Topics in Parallelism, June 2010 15
# of ready tasks Normalized execution time MatMul 4Kx4K FFT 256K Cholesky 4Kx4K Knn 50K samp. Jacobi 4Kx4K H264Dec 1 HD Fr. 100 200 300 400 500 600 700 800 900 1000
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Hot Topics in Parallelism, June 2010 16
Hot Topics in Parallelism, June 2010 17
Hot Topics in Parallelism, June 2010 18
Hot Topics in Parallelism, June 2010 19
Hot Topics in Parallelism, June 2010 20
Hot Topics in Parallelism, June 2010 21
Hot Topics in Parallelism, June 2010 22
Hot Topics in Parallelism, June 2010 23
Sequoia [Fatahalian’06], OoOJava [Jenista’10]