by **mgates3** » Wed Apr 06, 2016 7:50 am

What particular points are causing confusion?

A is a symmetric, N x N matrix embedded in an LDA x N array (with LDA >= N). LAPACK and MAGMA store all matrices column-wise.

Per UPLO, only the upper or lower portion needs to be set; the other side is known by symmetry and therefore ignored.

For magma_ssyevd, A is in CPU host memory. For magma_ssyevd_gpu, dA is already in GPU memory (LDA renamed LDDA).

Eigenvalues are returned in the w array, of size N.

There are several workspaces:

work, of size lwork, with formulas in documentation, or query for size by calling with lwork = -1.

iwork, of size liwork, with formulas in documentation, or query for size by calling with liwork = -1.

For magma_ssyevd_gpu takes an additional CPU workspace:

wA is LDWA x N, with LDWA >= N.

-mark