transient stability of power system

18
Programming Massively Parallel Graphics Multiprocessors using CUDA Final Project Amirhassan Asgari Kamiabad 996620802

Upload: nellie

Post on 15-Jan-2016

141 views

Category:

Documents


2 download

DESCRIPTION

Transient Stability of Power System. Programming Massively Parallel Graphics Multiprocessors using CUDA Final Project Amirhassan Asgari Kamiabad 996620802. Electric Power System. Largest infrastructure made by man Prone to many kinds of disturbance : Blackouts - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Transient Stability of Power System

Programming Massively Parallel Graphics Multiprocessors using CUDA

Final Project

Amirhassan Asgari Kamiabad 996620802

Page 2: Transient Stability of Power System

Electric Power SystemLargest infrastructure made by manProne to many kinds of disturbance :

BlackoutsTransient stability analysis: dynamic behavior

of power system few seconds following a disturbance

(Electric Power Network) (String and Mass Network)Voltage, Current, Power angel…. Force, Speed, Acceleration….

Page 3: Transient Stability of Power System

Transient Stability ComputationDifferential and Algebraic Equations

Discretize the differential part and use Backward Euler

Newton Method solve nonlinear systemSolve Linear System

),(0

),(

yxg

yxfdt

dx

0)1,1( nxnyF

bxA

SeY

Transient Stability computation Load

Page 4: Transient Stability of Power System

Jacobian Matrix PropertiesLarge and Sparse: 10k* 10k with 50k non-zeros Stiff: Eigen values are widespreadSave in sparse compressed row format

Data, indices and pointer vectors

]97420[

]46/935/82/71[

]31/320/21/10[

4060

9305

0820

0071

indicesdata

pointer

Column 0 1 2 3

Page 5: Transient Stability of Power System

Direct: LU factorizationLU factorization : Ax = (L U)x = L(Ux)=b

Backward Substitution Ly = bForward Substitution Ux=y

Number of active threads reduce during run time

Backward and forward substitution are serial algorithms

33

2322

131211

3231

21

333231

232221

131211

00

0

1

01

001

U

UU

UUU

LL

L

aaa

aaa

aaa

11 12 13 1 1

22 23 2 2

33 3 3

0

0 0

U U U x y

U U x y

U x y

3

2

1

3

2

1

3231

21

1

01

001

b

b

b

y

y

y

LL

L

Page 6: Transient Stability of Power System

Indirect: Conjugate GradientIterative method which use only matrix

multiplication and additionNecessarily converges in N iteration if the

matrix is symmetric positive definiteSuffer from slow rate of convergence

Transforming system to an equivalent with same solution but easier to solve

Preconditioning can improve robustnessand efficiency

Page 7: Transient Stability of Power System

Chebychev PreconditionerIterative method which estimate inverse of

matrixMain GPU kernels:

Sparse Matrix-Matrix MultiplyDense to Sparse transfer

)())((2)(

)(2

1

1

01

ZTZTZZT

ZTcIc

A

kkk

r

kk

Page 8: Transient Stability of Power System

Sparse Matrix-Matrix MultiplicationOne thread per row: Multiply each element in the

row for (int jj = row_start; jj < row_end; jj++)

Find corresponding element:while (kk < col_end) && (indice[jj] >= vec1_indice[kk])

If found, perform the multiplication if (indice[jj] == vec1_indice[kk])sum += data[jj] * vec1_data[kk];

]97420[

]46/935/82/71[

]31/320/21/10[Indicesdatapointer

0

/3

2

1

0

/3

2

/3

1

0

1

/2

7

6

9

/2

3

/8

4

1

Thread Id = 2 :

Page 9: Transient Stability of Power System

Sparse Matrix-Matrix Multiplication Code const int row = (blockDim.x * blockIdx.x + threadIdx.x); if(row < num_rows){ float sum = 0; int dense_flag = 0;

int row_start = ptr[row]; int row_end = ptr[row+1]; int col_start = vec1_ptr[col_num]; int col_end = vec1_ptr[col_num+1]; for (int jj = row_start; jj < row_end; jj++){ int kk = col_start; int not_found = 1; while( (kk < col_end) && (indice[jj] >= vec1_indice[kk]) &&

not_found){ if (indice[jj] == vec1_indice[kk]){ sum += data[jj] * vec1_data[kk]; not_found = 0;} kk++; } }

Page 10: Transient Stability of Power System

Dense to Sparse ConversionSave the result of multiplication in dense

format:

If thread holds zero, write zero, otherwise write 1:

Perform scan over the pointer vector:

A B C D E

0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0

0 0 0 1 1 1 1 1 2 2 2 2 3 4 4 4 4 4 4 4 4 4 5 5

A B C D E

4 9 13

14

23

if (dense_ptr[tid] - dense_ptr[tid-1]){ data[dense_ptr[tid] -1 + data_num] = dense_data[tid]; indice[dense_ptr[tid] -1 + data_num] = tid;}

Page 11: Transient Stability of Power System

Conjugate Gradient AlgorithmMain GPU Kernels:

Vector NormVector inner product (a,b)Update vectors

Page 12: Transient Stability of Power System

Vector Norm and Inner ProductVector norm adds square of all elements and

output square root of result:Load elements and multiply by itselfPerform scan and compute square root

Inner product multiply corresponding elements of two vector and add up the results:Load both vectors and multiply corresponding

elementsPerform scan and report the results

Page 13: Transient Stability of Power System

Kernels Optimization:Optimizations on Matrix-Matrix vector

multiplyLoad both matrices in sparseCopy vector in shared memoryOptimized searchImplement add in same kernel to avoid global

memoryChallenges:

Link lists and sparse formatsVarying matrix size in each kernel

Page 14: Transient Stability of Power System

Kernels Evaluation:

Main kernels Execution Time

Page 15: Transient Stability of Power System

Preconditioner EfficiencyMethodology:

1-Effect on Eigen values spectrum2- Effect on number of conjugate gradient

iterations

Preconditioning Effect on IEEE-57 Test System

Page 16: Transient Stability of Power System

CG EfficiancyMatrix Name

Matrix Size Total Nonzeros

Condition Number

Total TimePer

Iteration(ms)

E05R 236 5856 6e+04 1.13

E20R 4241 131556 5045e+10 11.33

E30R 9661 306356 3.47e+11 45.7

Matrices Structural Plot(source : Matrix Market)

Page 17: Transient Stability of Power System

DiscussionChallenges , problems and ideas

Work with all matrices: matrix market formNew kernel ideas

SpMMul Dens2Sp

Future work and updatesOther iterative methods: GMRES, BiCG

Page 18: Transient Stability of Power System