shehzan10 · GitHub

Merged

Merged

Conversation

umar456


static array A;
static array spA; // Sparse A
static array x0;
array r = b - matmul(A, x);
array p = r;

for (int i = 0; i < maxIter; ++i) {
x = x + tile(alpha, Ap.dims())*p;
array beta_num = dot(r, r);
array beta = beta_num/alpha_num;
p = r + tile(beta, p.dims())*p;
array alpha_den = dot(p, Ap);
array alpha = alpha_num/alpha_den;
r = r - tile(alpha, Ap.dims())*Ap;
x = x + tile(alpha, Ap.dims())*p;
array alpha_num = dot(r, r);
array alpha_den = dot(p, Ap);
array alpha = alpha_num/alpha_den;
r = r - tile(alpha, Ap.dims())*Ap;
Compare the performance and memory usage of sparse vs dense using conjugate
gradient example

@shehzan10

@shehzan10

Merged

Read the original on github.com ↗