- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- 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
- 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
- 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
- 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
- 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