The complete code can be found here: http://pastebin.com/41v4N99p

I'd be grateful for any hints regarding this problem.

Regards,

ChrisM

- Code: Select all
`#define HAVE_CUBLAS true`

... includes ...

... helper functions ...

int main(int argc, char **argv) {

const unsigned DIM = 272;

magma_init();

double *matrixH = generateSymmetricMatrixD(DIM);

double *matrixD = NULL;

cudaError_t err = cudaMalloc((void**) &matrixD, DIM * DIM * sizeof(double));

checkCudaError(err, "POS1");

err = cudaMemcpy(matrixD, matrixH, DIM * DIM * sizeof(double), cudaMemcpyHostToDevice);

checkCudaError(err, "POS3");

double *w = new double[DIM];

int ldwa = DIM;

double *wa = new double[ldwa];

int lwork = max(2 * DIM + DIM * magma_get_dsytrd_nb(DIM), 1 + 6 * DIM + 2 * int(pow(DIM, 2)));

double *work = new double[lwork];

int liwork = 3 + 5 * DIM;

int *iwork = new int[liwork];

int *info = new int;

cout << "dsyevd_gpu call" << endl;

magma_dsyevd_gpu(MagmaVec, MagmaUpper, DIM, matrixD, DIM, w, wa, ldwa, work,

lwork, iwork, liwork, info);

cout << "dsyevd_gpu return" << endl;

...

}