29
1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

Embed Size (px)

Citation preview

Page 1: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

1Challenge the future

Load Flow ProblemParallel Programming on the GPUwith MATLAB

Erik Berkhof

Page 2: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

2Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Page 3: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

3Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• VragenVermogen (P)

Stroom (I)Spanning (V)Weerstand (R)

Page 4: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

4Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Complexe representatie van het vermogen en de stroom:

Kirchhoff’s circuit laws:Het behoud van lading en energie

en

Page 5: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

5Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Power systeem model

Page 6: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

6Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

We hebben 2N niet lineaire vergelijkingen:

Page 7: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

7Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Newton-Rapshon methode

Page 8: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

8Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Page 9: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

9Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Preconditioners

Page 10: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

10Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

• Diagonal scaling

waarbij

• Incomplete decomposition

waarbij

een benedendriehoeksmatrix is.

Page 11: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

11Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

GPU (Graphics processing unit)

Parallel programmeren

Page 12: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

12Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Gebruik GPU in MATLAB

• gpuArray(X)• gather(X)• Veel functies werken op de GPU• arrayfun

Page 13: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

13Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Nadelen gebruik GPU in MATLAB

• Kopiëren naar de GPU kost tijd.• Geheugen op de GPU.• Niet alle functies kunnen gebruikt worden.• Format sparse matrices.

Page 14: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

14Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Page 15: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

15Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Incomplete decomposition preconditioner

Neem aan dat we hebben.

waaruit volgt

M.b.v. Neumann series geldt

We gebruiken

Page 16: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

16Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Matpower

Page 17: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

17Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Poisson matrix

Page 18: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

18Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Format sparse matrix in MATLAB

Page 19: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

19Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Page 20: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

20Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Matrix vector vermenigvuldiging

We willen berekenen.

Page 21: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

21Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Matrix vector vermenigvuldiging

Page 22: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

22Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Matrix vector vermenigvuldiging

Code GPU

Page 23: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

23Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Codes Bi-CGSTAB

Au=b

• u=bicgstab(A,b)• Code type2• Code CPU1• Code GPU

Preconditioners

Page 24: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

24Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Page 25: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

25Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Conclusie

• Parallel programmeren op de GPUin MATLAB kan speed up opleveren.

• Voor meer speed up voor het berekenen van de load flow problemis MATLAB niet handig. Gebruik hiervoor CUDA.

Page 26: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

26Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Vragen

Page 27: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

27Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Matrix vector vermenigvuldiging

Page 28: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

28Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Matrix vector vermenigvuldiging

Page 29: 1 Challenge the future Load Flow Problem Parallel Programming on the GPU with MATLAB Erik Berkhof

29Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

Matrix vector vermenigvuldiging