GPU Technology Conference 2016
Outline
Fatemah ¡Al-‑Zayer1, ¡Ameerah ¡Al-‑Mu2ry1, ¡Mona ¡Al-‑Shahrani1, ¡ ¡Saber ¡Feki2, ¡and ¡David ¡Keyes1 ¡
¡ ¡
1Extreme ¡Compu,ng ¡Research ¡Center, ¡ 2KAUST ¡Supercompu,ng ¡Laboratory, ¡
Algorithms for Auto-tuning OpenACC Accelerated Kernels - - PowerPoint PPT Presentation
Outline Algorithms for Auto-tuning OpenACC Accelerated Kernels Fatemah Al-Zayer 1 , Ameerah Al-Mu2ry 1 , Mona Al-Shahrani 1, Saber Feki 2 , and David Keyes 1
GPU Technology Conference 2016
¡ ¡
1Extreme ¡Compu,ng ¡Research ¡Center, ¡ 2KAUST ¡Supercompu,ng ¡Laboratory, ¡
GPU Technology Conference 2016 2
GPU Technology Conference 2016 3
GPU Technology Conference 2016 4
4 ¡
GPU Technology Conference 2016 5
GPU Technology Conference 2016 6
GPU Technology Conference 2016 7
GPU Technology Conference 2016 8
GPU Technology Conference 2016 9
GPU Technology Conference 2016 10
1.00 ¡ 1.20 ¡ 1.40 ¡ 1.60 ¡ 1.80 ¡ 2.00 ¡ 2.20 ¡ 2.40 ¡ 2.60 ¡ 2.80 ¡
Speedup ¡ Problem ¡Size ¡
Brute ¡Force ¡ Random ¡Walk ¡ Simulated ¡Annealing ¡ Nelder-‑Mead ¡ Gene,c ¡Algorithm ¡1 ¡ Gene,c ¡Algorithm ¡2 ¡
GPU Technology Conference 2016 11
0.1 ¡ 1 ¡ 10 ¡ 100 ¡ 1000 ¡ 10000 ¡
Time ¡(Sec) ¡ Problem ¡Size ¡
Brute ¡Force ¡ Random ¡Walk ¡ Simulated ¡Annealing ¡ Nelder-‑Mead ¡ Gene,c ¡Algorithm ¡1 ¡ ¡ Gene,c ¡Algorithm ¡2 ¡
GPU Technology Conference 2016 12
1.00 ¡ 1.20 ¡ 1.40 ¡ 1.60 ¡ 1.80 ¡ 2.00 ¡ 2.20 ¡ 2.40 ¡ 2.60 ¡
Speedup ¡ Problem ¡Size ¡
Brute ¡Force ¡ Random ¡Walk ¡ Simulated ¡Annealing ¡ Nelder-‑Mead ¡ Gene,c ¡Algorithm ¡1 ¡ Gene,c ¡Algorithm ¡2 ¡
GPU Technology Conference 2016 13
0.1 ¡ 1 ¡ 10 ¡ 100 ¡ 1000 ¡ 10000 ¡
Time ¡(Sec) ¡ Problem ¡Size ¡
Brute ¡Force ¡ Random ¡Walk ¡ Simulated ¡Annealing ¡ Nelder-‑Mead ¡ Gene,c ¡Algorithm ¡1 ¡ Gene,c ¡Algorithm ¡2 ¡
GPU Technology Conference 2016 14
1.00 ¡ 1.50 ¡ 2.00 ¡ 2.50 ¡ 3.00 ¡ 3.50 ¡ Speedup ¡ Problem ¡Size ¡ Brute ¡Force ¡ Random ¡Walk ¡ Simulated ¡Annealing ¡ Nelde-‑Mead ¡ Gene,c ¡Algorithm ¡1 ¡ Gene,c ¡Algorithm ¡2 ¡
GPU Technology Conference 2016 15
0.1 ¡ 1 ¡ 10 ¡ 100 ¡ 1000 ¡ 10000 ¡
Time ¡(Sec) ¡ Problem ¡Size ¡ Brute ¡Force ¡ Random ¡Walk ¡ Simulated ¡Annealing ¡ ¡ Nelder-‑Mead ¡ Gene,c ¡Algorithm ¡1 ¡ Gene,c ¡Algoithm ¡2 ¡ ¡
GPU Technology Conference 2016 16
1.00 ¡ 1.20 ¡ 1.40 ¡ 1.60 ¡ 1.80 ¡ 2.00 ¡ 2.20 ¡ 2.40 ¡ 2.60 ¡ 2.80 ¡ 80x140x275 ¡ 1500x150x15 ¡ 120x83x402 ¡ 98x418x392 ¡ 288x288x288 ¡
Speedup ¡ Problem ¡Size ¡
Brute ¡Force ¡ Historic ¡Learning ¡and ¡Brute ¡Force ¡ Historic ¡Learning ¡and ¡Random ¡Walk ¡ Historic ¡Learning ¡and ¡Nelder-‑Mead ¡ Historic ¡Learning ¡and ¡Gene,c ¡Algorithm ¡
GPU Technology Conference 2016 17
0.1 ¡ 1 ¡ 10 ¡ 100 ¡ 1000 ¡ 10000 ¡ 80x140x275 ¡ 1500x150x15 ¡ 120x83x402 ¡ 98x418x392 ¡ 288x288x288 ¡
Time ¡(Sec) ¡ Problem ¡Size ¡
Brute ¡Force ¡ Historic ¡Learning ¡and ¡Brute ¡Force ¡ Historic ¡Learning ¡and ¡Random ¡Walk ¡ Historic ¡Learning ¡and ¡Nelder-‑Mead ¡ Historic ¡Learning ¡and ¡Gene,c ¡Algorithm ¡
GPU Technology Conference 2016 18
GPU Technology Conference 2016 19
0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 30 ¡ 50 ¡ 80 ¡ 100 ¡ 128 ¡ 136 ¡ 167 ¡ 215 ¡ 256 ¡ 256 ¡ 275 ¡ 300 ¡ 300 ¡ 310 ¡ 392 ¡ 400 ¡ 402 ¡ 500 ¡ 545 ¡ 640 ¡ 678 ¡ 730 ¡ 753 ¡ 788 ¡ 807 ¡ 840 ¡ 870 ¡ 900 ¡ 915 ¡ 920 ¡ 1010 ¡ 1024 ¡ 1024 ¡
Best ¡Vector ¡Value ¡ Z ¡-‑ ¡Dimension ¡
8th ¡order ¡on ¡K20 ¡
GPU Technology Conference 2016 20
0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 300 ¡ 350 ¡ 400 ¡ 450 ¡ 30 ¡ 50 ¡ 80 ¡ 100 ¡ 128 ¡ 136 ¡ 167 ¡ 215 ¡ 256 ¡ 256 ¡ 275 ¡ 300 ¡ 300 ¡ 310 ¡ 392 ¡ 400 ¡ 402 ¡
Vector ¡Value ¡ Z ¡-‑ ¡Dimension ¡
BF ¡Vector ¡ M1 ¡Vector ¡ M2 ¡Vector ¡ 0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 478 ¡ 510 ¡ 580 ¡ 640 ¡ 700 ¡ 740 ¡ 788 ¡ 830 ¡ 870 ¡ 900 ¡ 915 ¡ 920 ¡ 1010 ¡ 1024 ¡ 1024 ¡
Vector ¡Value ¡ Z ¡-‑ ¡Dimension ¡ ¡
BF ¡Vector ¡ M3 ¡Vector ¡ M4 ¡Vector ¡
GPU Technology Conference 2016 21
GPU Technology Conference 2016 22
0.00% ¡ 5.00% ¡ 10.00% ¡ 15.00% ¡ 20.00% ¡ 25.00% ¡ 30.00% ¡ 35.00% ¡ 40.00% ¡ Auto-‑Tuned ¡values ¡
Computed ¡value ¡of ¡ gang ¡ Auto-‑Tuned ¡value ¡
Compiler ¡value ¡of ¡ gang ¡
Model ¡1 ¡Performance ¡Speedup ¡
0.00% ¡ 5.00% ¡ 10.00% ¡ 15.00% ¡ 20.00% ¡ 25.00% ¡ 30.00% ¡ 35.00% ¡ 40.00% ¡ 45.00% ¡ 50.00% ¡ Auto-‑Tuned ¡values ¡of ¡ gang ¡and ¡vector ¡ Computed ¡value ¡of ¡ gang ¡ Auto-‑Tuned ¡value ¡of ¡ gang ¡ Compiler ¡value ¡of ¡ gang ¡
Model ¡3 ¡and ¡Model ¡4 ¡Performance ¡Speedup ¡
Model ¡3 ¡ Model4 ¡
Small/Medium ¡Z ¡dimension ¡ Larger ¡Z ¡dimension ¡
GPU Technology Conference 2016 23
0.00% ¡ 5.00% ¡ 10.00% ¡ 15.00% ¡ 20.00% ¡ 25.00% ¡ 30.00% ¡ 35.00% ¡ 40.00% ¡ 45.00% ¡ Auto-‑Tuned ¡values ¡of ¡gang ¡and ¡ vector ¡ Auto-‑Tuned ¡value ¡of ¡gang ¡ Compiler ¡value ¡of ¡gang ¡
Model ¡1 ¡ ¡Performance ¡Speedup ¡ ¡
GPU Technology Conference 2016 24
GPU Technology Conference 2016 25
GPU Technology Conference 2016
GPU Technology Conference 2016 27