- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

I'm using FGMRES to solve some large scale problems.And now I have encountered with some errors when I allocate the memory for the **tmp **array.

The MKL references say that,the FGMRES subroutine must have a parameter named tmp,which length is N* (2 * N+ 1) + (N* (N+ 9)) / 2 + 1,where N is the problem's dimension.

My question is,when my problem's dimension is about 4e11,I can do it well.But when I increase the number of unknows and when it comes to about 2e12,I can't allocate the memory for array **tmp**.I catch the error "bad alloc".

My computer has 256G RAM,and I also found that when I allocate the memory successfully,the program didn't occupy the memory immediately.So I think it might be some other errors.

And the last question,if I cannot do the FGMRES with large problems,does it mean the FGMRES is not suitable for that?

Thanks in advance,

Solo

Link Copied

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Some correct:

4e11 and 2e12 are not the dimension but the result to N* (2 * N+ 1) + (N* (N+ 9)) / 2 + 1,

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

I am not sure understand how you allocate even 4e11 array because of it will require == sizeof(double) * 4 * e 11 > 3200 Gb.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Gennady Fedorov (Intel) wrote:

I am not sure understand how you allocate even 4e11 array because of it will require == sizeof(double) * 4 * e 11 > 3200 Gb.

Sorry,I made a mistake that the formulation shouldn't be that.

But one more question,can I perform the preconditioner subroutine **dcsrilu0 **in parallel?and how?

Thanks a lot

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Gennady Fedorov (Intel) wrote:

I am not sure understand how you allocate even 4e11 array because of it will require == sizeof(double) * 4 * e 11 > 3200 Gb.

Sorry,I made a mistake that the formulation shouldn't be that.

But one more question,can I perform the preconditioner subroutine **dcsrilu0 **in parallel?and how?

Thanks a lot

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page