I am trying to copy the soution x back to the application following the MAGMA example_sparse.c

- Code: Select all
`Foam::scalarField &solution; // solution vector of the application`

// copy MAGMA solution and back to the application code

magma_dvget( x, n, 1, solution, queue );

I get the following compile error, I think I get something wrong with a wrapped pointer array:

- Code: Select all
`mGMRES_solve.C:98:38: error: invalid conversion from ‘int’ to ‘magma_int_t* {aka int*}’ [-fpermissive]`

magma_dvget( x, n, 1, solution, queue );

^

mGMRES_solve.C:98:38: error: invalid conversion from ‘int’ to ‘magma_int_t* {aka int*}’ [-fpermissive]

mGMRES_solve.C:98:38: error: cannot convert ‘Foam::scalarField {aka Foam::Field<double>}’ to ‘double**’ for argument ‘4’ to ‘magma_int_t magma_dvget(magma_d_matrix, magma_int_t*, magma_int_t*, double**, magma_queue_t)’

Does anyone see my error?

- Code: Select all
`magma_dvget( x, n, 1, solution, queue ); // n = vector size; x = MAGMA solution vector`

Klaus