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

Post on 02-Apr-2015

227 views 1 download

Tags:

Transcript of 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

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