Re: Size limit on lapack matrix?
llee <[email protected]>
| Newsgroups | gmane.comp.lib.mtl.devel |
|---|---|
| Message-ID | <[email protected]> |
How many MB of memory in your machine? 7242x7242 doubles is about 800MB.
It looks like that you have reach the memory limit (both real and
virtual) of the machine.
On Wed, 18 Sep 2002, Gabriel J. Brostow wrote:
> I can not construct/access elements within a square matrix of size 7242.
>
> I'm not certain, but I suspect this problem isn't just my flawed coding.
> I'm using VC++ 6.0 with the native compiler, but expect that's not the
> cause either. Is there some fixed limit on matrix-sizes? Does it apply to
> both matrix and lapack_matrix?
>
> I am performing SVD of 3D matrices with varying numbers of rows. I just
> happen to have one dataset that's a little larger than the rest (~1.5x),
> and this causes "Access Violations" in different places. I'm using
> mtl-2.1.2-20 with all the appropriate patches.
>
> Below are two variants of the offending code.
>
> // Crash A
> int M = 7242;
> mtl2lapack::lapack_matrix<double>::type u(M, M); // Crashes here:
> // stl's vector allocation dies in _Construct(_T1 _FARQ *_P, const _T2& _V)
>
> // Crash B
> int M = 7242;
> double* uPtr = new double[M * M];
> mtl2lapack::lapack_matrix<double, mtl::external>::type u(uPtr, M, M);
> mtl::set_value(u, 0.0); // Crashes here: inside mtl_set.h's
> // __set(Matrix A, const T& alpha, fast::count<0>)
>
> and if I don't set_value() and just proceed with the call:
> int info = mtl2lapack::gesvd('A', 'A', A, s, u, vt); // vt is 3x3
> I get an Access Violation from within dgesvd().
>
> How have others dealt with this before?
>
> Thanks,
>
> -Gabriel J. Brostow
>
>
>
>
>
>
> _______________________________________________
> This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/
>
_______________________________________________
This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/