- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I few months ago I posted a problem of solving large matrices in Windows 32 bits. I understand thatdss_solve-real runs out of memory for large problems.
I was advised to use 64 bits instead. However I tried this option and it still didn't work. My guess is that I should compile the code for 64 bits,
is that right?
If not, any advice would be appreciated.
Thanks
Roberto
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok - in that case you should be able to do this by building the application in a 64-bit configuration. Select Build > Configuration Manager and under Platform, select New. It should default the rest to "x64" which is what you want.
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You would need to use the 64-bit compiler (we call it "Intel 64") and run it on a 64-bit system (for example, Windows 7 x64). Does this application use dynamically allocated memory or does it simply rely on large declared arrays?
What is the symptom when it "runs out of memory"?
What is the symptom when it "runs out of memory"?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve,
Thanks for the answer.I am trying to solve a FEM matrix 300K x 300K (lines) however my sparse subroutine is running out of memory in the dss_solve-real part of it. I was told that DSS cannot solve more than 2000x10^6 double nonzero elements. Also, that this problem should be solved when using Win 64.
I allocate and deallocate lots of memory throughout the entire FEM code. When it reaches the actual solver part it just stops with a "out of memory" message.
Any further suggestions?
Roberto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok - in that case you should be able to do this by building the application in a 64-bit configuration. Select Build > Configuration Manager and under Platform, select New. It should default the rest to "x64" which is what you want.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
300K x 300K if doubles and if not sparse represents ~720GB of data and sparse matrix will be less (half?). Although x64 can handle the virtual addressing without a problem, your Windows swap (paging) file must be able to handle this plus additional capacity. Try seeing if there is an issue with your setup for the paging file.
Jim Dempsey
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Jim,
I was able to compile in x64. The matrix is sparse and symmetric, so it should be a lot less than ~720GB. I will try it again and see what happens. Thanks for the inputs.
Roberto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve,
I just upgraded to Fortran XE. Initially I had a problem with "libguide.lib cannot be found". I believe I fixed it. I also added all the new 32 and 64 bits libraries to the linker. I also added the mkl_intel_lp64.lib in the project's library.
At first, I thought I had been able to compile in 64 bits, but that wasn't true. I am getting problems with the DSS commands. It gives me the following errors:
Error 2 error LNK2001: unresolved external symbol mkl_serv_set_progress ---> in File: mkl_intel_lp64.lib(_dss_delete_lp64.obj)
Error 8 error LNK2019: unresolved external symbol mkl_pds_lp64_dss_create referenced in function dss_create ---> in File: mkl_intel_lp64.lib(_dss_create_lp64.obj)
Iam not too sure what they mean.
Roberto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I suggest you ask for help in our MKL forum section and provide more details, such as attaching the buildlog.htm from the failed build.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page