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

Preview:

Citation preview

1Challenge the future

Load Flow ProblemParallel Programming on the GPUwith 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

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)

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

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

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:

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

8Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

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

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.

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

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

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.

14Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

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

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

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

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

19Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

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.

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

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

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

24Challenge the future

• Inleiding• Powersystemen• Load flow

problem• GPU en MATLAB• Resultaten voor

load flow problems

• Poisson matrix• Parallel

programmeren Bi-CGSTAB

• Conclusie• Vragen

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.

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

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

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

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