Is there a way to calculate all (i.e. complex and real) roots of a polynomial with cuda?

Or in other word, is there a way to calculate the eigenvalue( complexe and real) of general form matrix? I know there is an example under “NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\eigenvalues”, but which is seems to only calculate the tridiagonal symmetric matrix

I also did a simple search and found that CULA maybe can do so. But is there any **free/open source** to do so?

I say I “general form matrix” because I found how matlab calculate the roots on http://www.mathworks.com/help/techdoc/ref/roots.html

which is actually the eigenvalues of a matrix like

```
6 72 27
1 0 0
0 1 0
```

thanks

P.S. I am using windows OS, not linux