Dear all,

I've installed the new realesed of MAGMA library 1.1. The device on which I'm working is a Tesla M2050 with compute capability 2.0.

I'm facing problem using the function magma_dgetri_gpu for computing the inverse of a matrix, using LU factorization, that give me a strange error 'can not bind to texture',

which I'm not able to resolve.

I've noticed that also the testing program provided with MAGMA library failed with the same error.

./testing_dgetri_gpu -N 2048

device 0: Tesla M2050, 1147.0 MHz clock, 2687.4 MB memory, capability 2.0

N CPU GFlop/s GPU GFlop/s ||R||_F / ||A||_F

========================================================

can not bind to texture

can not bind to texture

can not bind to texture

can not bind to texture

can not bind to texture

Have you ever encountered this problem? Have you got any idea about this message error??

I'm working with other functions of the MAGMA 1.1 without any problems.

Thanks

Alice

## problem with magma_dgetri_gpu function

### Re: problem with magma_dgetri_gpu function

Hi Alice,

Usually that is caused by accessing the wrong memory, like a segfault in CPUs. Looks like I can replicate your problem, so it's a bug in MAGMA. I'll look into it.

In the meantime, may I ask why are you computing the inverse? If you are trying to compute b = A^{-1} x, it is generally both faster and more accurate to solve Ax=b by using gesv to compute the LU factors and solve LUx = b.

-mark

Usually that is caused by accessing the wrong memory, like a segfault in CPUs. Looks like I can replicate your problem, so it's a bug in MAGMA. I'll look into it.

In the meantime, may I ask why are you computing the inverse? If you are trying to compute b = A^{-1} x, it is generally both faster and more accurate to solve Ax=b by using gesv to compute the LU factors and solve LUx = b.

-mark

### Re: problem with magma_dgetri_gpu function

I can report the same problem on my system:

When I run the whole test case it runs past that size and only crashes later:

I hope this helps.

John

Code: Select all

```
fletcher@fletcher-desktop:~/magma_1.1.0/testing$ ./testing_dgetri_gpu -N 2048
device 0: GeForce GTX 460, 1400.0 MHz clock, 2047.2 MB memory, capability 2.1
N CPU GFlop/s GPU GFlop/s ||R||_F / ||A||_F
========================================================
can not bind to texture
can not bind to texture
.......
can not bind to texture
can not bind to texture
2048 23.90 80.40 1.177364e-01
```

Code: Select all

```
fletcher@fletcher-desktop:~/magma_1.1.0/testing$ ./testing_dgetri_gpu
device 0: GeForce GTX 460, 1400.0 MHz clock, 2047.2 MB memory, capability 2.1
Usage:
testing_dgetri_gpu -N 1024
N CPU GFlop/s GPU GFlop/s ||R||_F / ||A||_F
========================================================
1024 22.31 29.57 1.920527e-14
2048 24.55 42.00 8.356550e-15
3072 25.75 45.78 2.248352e-14
4032 25.83 46.09 4.037546e-14
5184 26.03 53.38 5.320844e-14
6048 26.06 54.42 4.180547e-14
7200 26.22 53.87 4.650466e-14
8064 25.81 56.28 4.017278e-14
8928 26.60 56.63 nan
can not bind to texture
can not bind to texture
```

John

### Re: problem with magma_dgetri_gpu function

Dear all,

Thank you. John, I faced the same problem when I run the test case without optional argument and when I set the matrix dimension with -N parameter. In the first case it crashes later.

Mark, I've taken a look to magma documentation about magma_dgetri_gpu, it computes the inverse of a matrix using LU factorization and then it solves a system of the form LUx=b, as you suggested. In facts this function required on entry the factor L and U of LU decomposition instead of the original matrix.

Thanks,

Alice

Thank you. John, I faced the same problem when I run the test case without optional argument and when I set the matrix dimension with -N parameter. In the first case it crashes later.

Mark, I've taken a look to magma documentation about magma_dgetri_gpu, it computes the inverse of a matrix using LU factorization and then it solves a system of the form LUx=b, as you suggested. In facts this function required on entry the factor L and U of LU decomposition instead of the original matrix.

Thanks,

Alice

### Re: problem with magma_dgetri_gpu function

Alice,

What I meant in my original reply is to use getrf and getrs -- or equivalently, gesv -- to solve Ax = b. getrf computes the LU factors, then getrs solves LUx = b using forward and back triangular solves. The inverse A^{-1} is never explicitly computed.

Yes, getri takes the LU factors generated by getrf. But again, I don't generally recommend using getri to solve Ax = b, or equivalently, computing x = A^{-1} b.

-mark

What I meant in my original reply is to use getrf and getrs -- or equivalently, gesv -- to solve Ax = b. getrf computes the LU factors, then getrs solves LUx = b using forward and back triangular solves. The inverse A^{-1} is never explicitly computed.

Yes, getri takes the LU factors generated by getrf. But again, I don't generally recommend using getri to solve Ax = b, or equivalently, computing x = A^{-1} b.

-mark