<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Big Size of Matrix error in Fortran in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816156#M45358</link>
    <description>Win32 default thread stack size is 1MB, but you didn't give any indication why you mention that here. This is distinct from the stack size which you set in /link /stack: or by editbin, which has a much larger default. Intel libraries, such as you get with MKL, boost the thread stack size default to 2MB for win32 and 4MB for X64, and provide function calls and environment variables to control it. All probably irrevelant to the subject you have been discussing.</description>
    <pubDate>Tue, 29 May 2012 11:22:36 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2012-05-29T11:22:36Z</dc:date>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816149#M45351</link>
      <description>Hi everybody;&lt;BR /&gt;I'm not computer expert, but during working with my thesis which is about civil Eng., got serious problem with my program seemingly about big size of matrices. I'm working with meshes and using Fortran to analyze entire of my mesh including nodes and elements. So, I have some variables, vectors and matrices. The biggest matrix has around 61,000x61,000 arrays. During debugging of my program, following common message and highlighted ERROR are appearing every time:&lt;BR /&gt;&lt;BR /&gt;--------------------Configuration: Ali-0 - Win32 Debug--------------------&lt;BR /&gt;Compiling Fortran...&lt;BR /&gt;D:\\Thesis\\Fortran programming\\Copy of shin yokohama fortran\\Ali-0.for&lt;BR /&gt;D:\\Thesis\\Fortran programming\\Copy of shin yokohama fortran\\Ali-0.for(25) : &lt;SPAN class="sectionHeadingText"&gt;&lt;B&gt;Error: A common block or variable may not exceed 2147483647 bytes&lt;/B&gt;&lt;/SPAN&gt;&lt;BR /&gt; &amp;amp; nfix(5000),r1(61000),&lt;B&gt;&lt;SPAN style="text-decoration: underline;"&gt;sk(61000,61000)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/B&gt;----------------------------------^&lt;BR /&gt;Error executing df.exe.&lt;BR /&gt;&lt;BR /&gt;Ali-0.exe - 1 error(s), 0 warning(s)&lt;BR /&gt;&lt;BR /&gt;I know the reason is beacasue size of my matrix in bytes outnumbers maximum allocatable bytes for each matrix. I have no choice to use this matrix. I've searched the web for resons and solutions. It seems that this error relates to ram and operating system as well.&lt;BR /&gt;I have 2 system 1- Window 32 bit 2GB ram, other Windows 64 bit, 6.00 GB. &lt;BR /&gt;Could anybody help me resoling this problem!&lt;BR /&gt;</description>
      <pubDate>Sun, 27 May 2012 01:30:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816149#M45351</guid>
      <dc:creator>aafshani</dc:creator>
      <dc:date>2012-05-27T01:30:54Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816150#M45352</link>
      <description>Do a "back of the envelope" calculation. The array &lt;B&gt;sk&lt;/B&gt; requires about 15 GB in single precision and twice that in double precision. These requirements are not reasonable for the hardware available to you. &lt;BR /&gt;&lt;BR /&gt;It is probably true that you do not need dense matrices since matrices arising from discretization of differential equations are sparse. However, you will have to rewrite your programs to exploit that sparseness. MKL provides linear algebra routines that are suited to sparse matrix manipulations.</description>
      <pubDate>Sun, 27 May 2012 02:46:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816150#M45352</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2012-05-27T02:46:40Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816151#M45353</link>
      <description>Thank you so much&lt;B&gt; mecej4 &lt;/B&gt;for your comment;&lt;BR /&gt;even if I want to use spareness of the above SK(61000, 61000) matrix, it could be densed to a matrix of SK(61000, 30500) which is still needs lots of bytes. &lt;BR /&gt;I've heard there is another solution using so called "Gfortran" as well as Math Kernel Library (MKL). I'm completely new to both of them and litteraly have no idea what are they, how can I use them in my case.&lt;BR /&gt;Do you know which one is better to stick with, I mean, which one is much straight forward to use in my case? &lt;BR /&gt;Can you please explain a little bit more about how can I use MKL, or is there any simple instruction which shows me how to use MKL with fortran??&lt;BR /&gt;Thanks</description>
      <pubDate>Sun, 27 May 2012 08:57:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816151#M45353</guid>
      <dc:creator>aafshani</dc:creator>
      <dc:date>2012-05-27T08:57:16Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816152#M45354</link>
      <description>Instead of relying on dubious rumours, seek guidance from a knowledgeable source.&lt;BR /&gt;&lt;BR /&gt;&lt;I&gt;&amp;gt; even if I want to use spareness of the above SK(61000, 61000) matrix, it could be densed to a matrix of SK(61000, 30500) which is still needs 
lots of bytes.&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;There is no perceptible basis for that statement, and there are many situations where we know that statement not to be true. &lt;BR /&gt;&lt;BR /&gt;&lt;I&gt;&amp;gt; Can you please explain a little bit more about how can I use MKL, or is 
there any simple instruction which shows me how to use MKL with 
fortran??&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;Take courses on numerical mathematics/numerical analysis/computing.&lt;BR /&gt;</description>
      <pubDate>Sun, 27 May 2012 09:24:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816152#M45354</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2012-05-27T09:24:59Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816153#M45355</link>
      <description>"&lt;STRONG&gt;common block or variable may not exceed 2147483647 bytes"&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;If the array is in COMMON or module, make the array allocatable and perform the allocation in an init subroutine you call at the start of the program.&lt;BR /&gt;&lt;BR /&gt;If the variable is in subroutine/function scope use the heap arrays option.&lt;BR /&gt;&lt;BR /&gt;(this size of allocation will only work in x64 app)&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Sun, 27 May 2012 15:47:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816153#M45355</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-05-27T15:47:28Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816154#M45356</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1338137840875="58" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=564963" href="https://community.intel.com/en-us/profile/564963/" class="basic"&gt;allexberg&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;EM&gt;...The biggest matrix has around 61,000x61,000 arrays...&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] In case of&lt;SPAN style="text-decoration: underline;"&gt;Single-Precision&lt;/SPAN&gt; 61,000x61000 matrix you need&lt;BR /&gt;&lt;BR /&gt;  &lt;STRONG&gt;61,000&lt;/STRONG&gt;*&lt;STRONG&gt;61,000&lt;/STRONG&gt;*&lt;STRONG&gt;4&lt;/STRONG&gt; = 14,884,000,000 = &lt;STRONG&gt;13.86GB&lt;/STRONG&gt; of memory&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;--------------------Configuration: Ali-0 - &lt;STRONG&gt;Win32 Debug&lt;/STRONG&gt;--------------------&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] It is impossible to allocate &lt;STRONG&gt;13.86GB&lt;/STRONG&gt; of memory for one application on a&lt;STRONG&gt;32-bit&lt;/STRONG&gt; Windows platform.&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;...&lt;BR /&gt;...\Ali-0.for(25) : &lt;SPAN class="sectionHeadingText"&gt;&lt;B&gt;Error: A common block or variable may not exceed 2147483647 bytes&lt;/B&gt;&lt;/SPAN&gt;&lt;BR /&gt;...&lt;/EM&gt;&lt;B&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;EM&gt;I have 2 system 1- Window 32 bit 2GB ram, other &lt;STRONG&gt;Windows 64 bit, 6.00 GB&lt;/STRONG&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] You need to use a &lt;STRONG&gt;64-bit&lt;/STRONG&gt; platform with a large amount of physical memory, for example &lt;STRONG&gt;16GB&lt;/STRONG&gt;. You couldtry to&lt;BR /&gt; increase a &lt;STRONG&gt;Virtual Memory&lt;/STRONG&gt; size up to 16GB on the 6GB platform but performance of yourapplicationwill be significantly affected.&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;Since your matrix is very largeI would recommend to use&lt;SPAN style="text-decoration: underline;"&gt;Double-Precision&lt;/SPAN&gt; data type to improve accuracy&lt;BR /&gt;of your calculations. In that case a &lt;STRONG&gt;64-bit&lt;/STRONG&gt; platform with &lt;STRONG&gt;32GB&lt;/STRONG&gt; of physical memoryhas to be used.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;/P&gt;</description>
      <pubDate>Sun, 27 May 2012 17:15:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816154#M45356</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-05-27T17:15:09Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816155#M45357</link>
      <description>&lt;B&gt;Thanks Jim Dempsey &lt;/B&gt;and&lt;B&gt; Sergey Kostrov&lt;/B&gt; for your helpful comments&lt;B&gt;;&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;Sergey Kostrov,&lt;/B&gt; you told I have to increase &lt;B&gt;virtual memory &lt;/B&gt;up to&lt;B&gt; 16 GB. &lt;/B&gt;I checked it. Amount of space available for virtual memory of my platform seems to be 521GB. (I checked it from following address:&lt;BR /&gt;Control panel\system\ Advanced system setting\advanced\performance setting-&amp;gt;advance tab-&amp;gt;virtual memory). Then, I set it to &lt;B&gt;64GB&lt;/B&gt; which already was only 6GB. &lt;BR /&gt;I was just trying to test new condition with simple small program with allocatable but large array the same previous &lt;B&gt;sk(61000,61000) matrix,&lt;/B&gt; I had before. After running this simple program with 64GB vitual memory, I got another warning like:&lt;BR /&gt;"&lt;MY file="" name=""&gt;&lt;B&gt;&lt;I&gt;.exe has triggered a breakpoint&lt;/I&gt;&lt;/B&gt; ". &lt;BR /&gt;This happens exactly at allocation line of my code.&lt;BR /&gt;When I decrease the size of my array, everything is okay. The problem is obviously due to the big size of my array again.&lt;BR /&gt;&lt;BR /&gt;During reading in related Intel forums and other sources; there were some suggestion about involving with &lt;B&gt;stack&lt;/B&gt; and &lt;B&gt;heap arrays&lt;/B&gt; concepts, as well as increase stack size. &lt;BR /&gt;According to the Intel posts, default stack size is around 1MB. &lt;B&gt;&lt;BR /&gt;&lt;/B&gt;If I want to increase it&lt;BR /&gt;1- Is there any idea how much do I have to increase stack size for my case (In the case of &lt;B&gt;sk(61000,61000) matrix&lt;/B&gt;) ?&lt;BR /&gt;2- What is the maximum stack limit if there is, for example for windoms 64 platform?&lt;/MY&gt;</description>
      <pubDate>Tue, 29 May 2012 06:43:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816155#M45357</guid>
      <dc:creator>aafshani</dc:creator>
      <dc:date>2012-05-29T06:43:46Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816156#M45358</link>
      <description>Win32 default thread stack size is 1MB, but you didn't give any indication why you mention that here. This is distinct from the stack size which you set in /link /stack: or by editbin, which has a much larger default. Intel libraries, such as you get with MKL, boost the thread stack size default to 2MB for win32 and 4MB for X64, and provide function calls and environment variables to control it. All probably irrevelant to the subject you have been discussing.</description>
      <pubDate>Tue, 29 May 2012 11:22:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816156#M45358</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2012-05-29T11:22:36Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816157#M45359</link>
      <description>I think you need to rethink the size of your arrays, which appear directly related to the 'fineness' of your mesh.&lt;BR /&gt;you are clearly asking for way too much than can be catered for on your system, without rolling stuff in and out from disk.&lt;BR /&gt;&lt;BR /&gt;Do you really need the fineness that requires 61000 divisions?&lt;BR /&gt;&lt;BR /&gt;Are the effects you are modelling likely to have a range covering the whole width of your mesh?&lt;BR /&gt;&lt;BR /&gt;If the effects are likely to be confined to a local area, then you should produce local meshes using much fewere points.&lt;BR /&gt;&lt;BR /&gt;If the range of the effects you are modelling reach over the whole physical space spanned by your mesh (i.e. have long 'wavelengths'), then I suggest reducing the mesh fineness, as variations over small regions are likely to be small and could eventually be filled in using interpolation from a coarser mesh.</description>
      <pubDate>Tue, 29 May 2012 13:04:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816157#M45359</guid>
      <dc:creator>anthonyrichards</dc:creator>
      <dc:date>2012-05-29T13:04:53Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816158#M45360</link>
      <description>&lt;P&gt;Is your build configuration Win32 or x64?&lt;BR /&gt;If Win32 then you are building a 32-bit application (which will run on an x64 platform but with the 2/3 GB memory restrictions).&lt;BR /&gt;&lt;BR /&gt;To convert to 64-bit in VS click on the pull-down arrow on the platform (Win32), then New, then you should get or find x64, also choose to import settings from Win32.&lt;BR /&gt;&lt;BR /&gt;Rebuild and run your test program.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2012 16:57:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816158#M45360</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-05-29T16:57:06Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816159#M45361</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1338343379859="58" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=564963" href="https://community.intel.com/en-us/profile/564963/" class="basic"&gt;allexberg&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;...&lt;EM&gt;After running this simple program with 64GB vitual memory, I got another warning like:&lt;BR /&gt;"&lt;MY file="" name=""&gt;&lt;B&gt;.exe has triggered a breakpoint&lt;/B&gt; ". &lt;BR /&gt;This happens exactly at allocation line of my code.&lt;BR /&gt;&lt;BR /&gt;&lt;/MY&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] I understood that it still can't allocate a memory block for&lt;STRONG&gt;61,000&lt;/STRONG&gt;x&lt;STRONG&gt;61,000&lt;/STRONG&gt;x&lt;STRONG&gt;Sizeof(your-data-type)&lt;/STRONG&gt; matrix.&lt;BR /&gt; My question is: Did you try to execute a &lt;STRONG&gt;32-bit&lt;/STRONG&gt; program on the &lt;STRONG&gt;64-bit&lt;/STRONG&gt; platform?&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;When I decrease the size of my array, everything is okay. The problem is obviously due to the big size of my array again.&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] Please, give exact numbers. Is it fora &lt;STRONG&gt;32-bit&lt;/STRONG&gt; application or &lt;STRONG&gt;64-bit&lt;/STRONG&gt; application?&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;During reading in related Intel forums and other sources; there were some suggestion about involving with &lt;B&gt;stack&lt;/B&gt; and &lt;B&gt;heap arrays&lt;/B&gt; concepts,&lt;BR /&gt;as well as increase stack size. &lt;BR /&gt;According to the Intel posts, default stack size is around 1MB. &lt;/EM&gt;&lt;B&gt;&lt;BR /&gt;&lt;/B&gt;&lt;EM&gt;If I want to increase it&lt;BR /&gt;1- Is there any idea how much do I have to increase stack size for my case (In the case of &lt;B&gt;sk(61000,61000) matrix&lt;/B&gt;) ?&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] Let me answer in as generic as possible way:&lt;BR /&gt;&lt;BR /&gt; it has be greater than &lt;STRONG&gt;61,000&lt;/STRONG&gt;x&lt;STRONG&gt;61,000&lt;/STRONG&gt;x&lt;STRONG&gt;Sizeof(your-data-type)&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;2- What is the maximum stack limit if there is, for example for windoms 64 platform?&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] I thinka couple of TBs( it could besomething like 0xFFFFFFFFFFFFFFE0 ).&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;You need tobuild a &lt;STRONG&gt;64-bit&lt;/STRONG&gt; version of your program and I would recommend to use a memory from the heap instead of&lt;BR /&gt;from the stack. Please post updates on your progress.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;/P&gt;</description>
      <pubDate>Wed, 30 May 2012 02:25:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816159#M45361</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-05-30T02:25:52Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816160#M45362</link>
      <description>My understanding of this problem is if you use ALLOCATE in a 64-bit version, then there should be no need to consider the heap or stack size.&lt;BR /&gt;My preference is to declare the array as allocatable inside a module, such as:&lt;BR /&gt;&lt;BR /&gt;Module Big_Array&lt;BR /&gt; real*8, allocatable, dimension(:,:) :: sk&lt;BR /&gt;end module Big_Array&lt;BR /&gt;&lt;BR /&gt;If the size of array "sk" is significantly larger than the available physical memory, but less than the size of the pagefile.sys, then expect a long wait for the program to run.&lt;BR /&gt;You will benefit from many of the old programming techniques that suited paged memoryin the 70's and 80's,as demonstrated by the run time difference between&lt;BR /&gt;&lt;BR /&gt;do i = 1,n&lt;BR /&gt; do j = 1,n&lt;BR /&gt; sk(i,j) = 0&lt;BR /&gt; end do&lt;BR /&gt;end do&lt;BR /&gt;&lt;BR /&gt;compared to&lt;BR /&gt;&lt;BR /&gt;do j = 1,n&lt;BR /&gt; do i = 1,n&lt;BR /&gt; sk(i,j) = 0&lt;BR /&gt; end do&lt;BR /&gt;end do&lt;BR /&gt;&lt;BR /&gt;With n = 61,000, my estimate is this is a 28 gb array.&lt;BR /&gt;You will probably find that any approach that considers either sparsity, symmetry or the banded nature of the array will significantly reduce both the storage demand and the run time. Look for these savings.&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Wed, 30 May 2012 12:51:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816160#M45362</guid>
      <dc:creator>John_Campbell</dc:creator>
      <dc:date>2012-05-30T12:51:20Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816161#M45363</link>
      <description>For what its worth. Yesterday I changed the properties on my Windows 7 x64 from 16GB to 128GB. Then ran a test program&lt;BR /&gt;&lt;BR /&gt; real(8) :: skd(61000,61000)&lt;BR /&gt; real :: sk(61000,61000)&lt;BR /&gt;...&lt;BR /&gt; allocate(skd(61000,61000), STAT=i)&lt;BR /&gt;(success)&lt;BR /&gt; do i=1,61000&lt;BR /&gt; skd(i,i) = 0.0&lt;BR /&gt; end do&lt;BR /&gt;(success)&lt;BR /&gt; allocate(sk(61000,61000), STAT=i)&lt;BR /&gt;(fail)&lt;BR /&gt;??? I do not know why this failed, I think the error code was 47, but I am not sure&lt;BR /&gt;&lt;BR /&gt;Due to the above (working part) filling the diagonal of skd, the Virtural memory commit remained under the 16GB. So I changed the above to&lt;BR /&gt;&lt;BR /&gt; do j=1,6100&lt;BR /&gt; do i=1,61000&lt;BR /&gt; skd(i,j) = 0.0&lt;BR /&gt; end do&lt;BR /&gt;end do&lt;BR /&gt;&lt;BR /&gt;When page file started expanding, it never quit (after 2 hours runtime). I had to reboot my system.&lt;BR /&gt;I have not re-run the test since.&lt;BR /&gt;&lt;BR /&gt;I've felt Windows Virtual Memory system was severely lacking when configured for applications with memory requirements many times larger than physical memory.&lt;BR /&gt;&lt;BR /&gt;BTW I've written two virtual memory operating systems myself, and other than following John's advice of efficiently sequencing your loop controls, you can get relatively good performance out of an application much larger than physical memory.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 30 May 2012 13:11:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816161#M45363</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-05-30T13:11:23Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816162#M45364</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1338433016890="58" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=99850" href="https://community.intel.com/en-us/profile/99850/" class="basic"&gt;jimdempseyatthecove&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;I&gt;For what its worth. Yesterday I changed the properties on my Windows 7 x64 from 16GB to 128GB. Then ran a test program&lt;BR /&gt;...&lt;BR /&gt;I do not know why this failed, I think &lt;SPAN style="text-decoration: underline;"&gt;the error code was 47&lt;/SPAN&gt;...&lt;/I&gt;&lt;/DIV&gt;&lt;BR /&gt;Jim,&lt;BR /&gt;&lt;BR /&gt;Do you think it was returned by a&lt;STRONG&gt;GetLastError&lt;/STRONG&gt; Win32 API function? I'm interested to see a screenshot, if possible.&lt;BR /&gt;&lt;BR /&gt;By the way, just checked &lt;STRONG&gt;MSDN&lt;/STRONG&gt; andfor the &lt;STRONG&gt;GetLastError&lt;/STRONG&gt; function the code &lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;47&lt;/SPAN&gt;&lt;/STRONG&gt; is not listed at all.&lt;BR /&gt;&lt;BR /&gt;I wonder ifthe code &lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;47&lt;/SPAN&gt;&lt;/STRONG&gt; is some internal errorcode ofthe &lt;STRONG&gt;Fortran&lt;/STRONG&gt; compiler?&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Thu, 31 May 2012 03:02:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816162#M45364</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-05-31T03:02:23Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816163#M45365</link>
      <description>&lt;P&gt;Jim,&lt;BR /&gt;&lt;BR /&gt;Like you, I have also felt that Windows Virtual Memory (WVM)is severely lacking.&lt;BR /&gt;However, it is very difficult to provide an objective test.&lt;BR /&gt;I developed most of my understanding of virtual memory using Prime and Vaxcomputers. I considered Prime's virtual memory to be superior to any other I have used (certainly more flexible than Vax), although the expectation we have on disk response for paging has changed a lot in 20 years.&lt;BR /&gt;From what I can remember, the paging space in 1980 was 2 platters of a 300mb CDC drive or about 40 MB, which is a lot less than the 128 GB you are testing today.&lt;BR /&gt;My present approach is to never use paging while the program is running and make sure the memory footprint of the program is less than 80% of the physical memory installed.&lt;BR /&gt;My "out of core" algorithms that I have to address larger problems are far superior to WVM.&lt;BR /&gt;&lt;BR /&gt;For those few lazy times when you want a quick solution and rely on WVM, it is a bit of a worry to hear it doesn't work. I experienced a similar problem with Win2k when resorting to WVM years ago, when installed memory was much less. (Even then, it wasquicker to develop an out-of-core approach, than solve the problems of windows paging.)&lt;/P&gt;&lt;P&gt;It would be good to know the reason that it has failed this time, as these few bad examples can lead to a view of WVM that may not be valid. Past experience was that identifying thereal error was very elusive, so I resorted to a solution I knew would lead to an answer.&lt;BR /&gt;&lt;BR /&gt;Alex should be looking at a solution that can run in the available physical memory.&lt;BR /&gt;&lt;BR /&gt;John&lt;/P&gt;</description>
      <pubDate>Thu, 31 May 2012 05:03:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816163#M45365</guid>
      <dc:creator>John_Campbell</dc:creator>
      <dc:date>2012-05-31T05:03:59Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816164#M45366</link>
      <description>&lt;P&gt;I appreciate all you guys;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;gt;Tim&lt;/STRONG&gt;: &lt;SPAN class="sectionBody"&gt;"Win32 default thread stack size is 1MB, but you didn't give any indication why you mention that here. This is distinct from the stack size which you set in /link /stack: or by editbin, which has a much larger default. Intel libraries, such as you get with MKL, boost the thread stack size default to 2MB for win32 and 4MB for X64, and provide function calls and environment variables to control it. All probably irrevelant to the subject you have been discussing."&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks Tim for your advice...... &lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;gt;anthonyrichards&lt;/STRONG&gt;:&lt;EM&gt; &lt;/EM&gt;&lt;EM&gt;&lt;SPAN&gt;"Do you really need the fineness that requires 61000 divisions?&lt;BR /&gt;&lt;/SPAN&gt;Are the effects you are modelling likely to have a range covering the whole width of your mesh?"&lt;BR /&gt;&lt;/EM&gt;&lt;BR /&gt;Yeah, actually, that matrix of Skis just one of my matrices, but the biggest. Even if I want to shrink my mesh,still it will be too large to get the errro again, and another issue is that unfortunately it is not my only array. I have similar arrayand matrices in my program.This is 3D mesh of Soil mediumfor tunnelling simulation.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;gt;Jim Dempsey&lt;/STRONG&gt;&lt;EM&gt;:"Is your build configuration Win32 or x64?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;If Win32 then you are building a 32-bit application (which will run on an x64 platform but with the 2/3 GB memory restrictions). &lt;/EM&gt;&lt;EM&gt;To convert to 64-bit in VS ......."&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;STRONG&gt;&amp;gt;SergeyK&lt;/STRONG&gt;: "&lt;EM&gt;Please, give exact numbers. Is it for a 32-bit application or 64-bit application?"&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;I am using Visual studio 2008. My build ConfigurationI was Win32 (and, at the moment, I was using my windows 64bit system). So, yeah,ckecked it from Project Property\platform\win32. Next step I changed it to 64x from the same window\configuration managment\.. and changed Active solution platformto&lt;STRONG&gt; 64x&lt;/STRONG&gt;. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;gt;&lt;/STRONG&gt;[&lt;STRONG&gt;SergeyK]&lt;/STRONG&gt; "Let me answer in as generic as possible way, &lt;/EM&gt;&lt;EM&gt;it has be greater than 61,000x61,000xSizeof(your-data-type):"&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;BR /&gt;I changed theactive platform to 64X and there was no problem, and mention again that I increase my virtual memory up to near 100 GB. I was able to run the program up to the half way. All of the sudden another error. The error on the console window was:&lt;BR /&gt;&lt;STRONG&gt;forrtl: server (157): program exception-access violation&lt;/STRONG&gt;&lt;BR /&gt;message on the pop up window (Microsoft visual studio) was:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;unhandled exception at 0x000000014000da49 in(name of my file.exe): 0xc0000005: Access violation writing location 0x0000000000000004&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;I checked the program itself, there was no problem about allocation, I think it agan relate to the memory. &lt;BR /&gt;&lt;STRONG&gt;Any thought on this??&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;It is worthy to mention that inmy program, I have many variable, arrays, and matrices, but most of them are small size. The biggest one was the SK matrixI mentioned which I manged to shrink to Sk(55000,8000). But, I think as the program goes on,volume of used memory is increasing up to the point that facing no memory. So, I tried to makemy big size arrays allocatable including Sk. But, still got above message. I'm not sure is this error becauase of&lt;EM&gt; &lt;STRONG&gt;memory&lt;/STRONG&gt;&lt;/EM&gt; or an&lt;STRONG&gt;&lt;EM&gt; internal error of program&lt;/EM&gt;&lt;/STRONG&gt;!!&lt;BR /&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 31 May 2012 12:55:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816164#M45366</guid>
      <dc:creator>aafshani</dc:creator>
      <dc:date>2012-05-31T12:55:57Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816165#M45367</link>
      <description>It is likely that you have an array bounds being exceeded.&lt;BR /&gt;In Project -&amp;gt; Properties -&amp;gt; Fortran -&amp;gt; Run-time I suggest that you turn on "Generate Traceback Information" and "Check Array and String Bounds".&lt;BR /&gt;The traceback will hopefully tell you which routineis failing and the line number, and if it is a bounds error, the array and value of the subscript.&lt;BR /&gt;Once you have fixed the problem you can turn the checks off again.&lt;BR /&gt;(Personally I prefer to leave traceback on, so if a client should ever get one of these errors I can get more info of where the problem lies. YMMV)&lt;BR /&gt;&lt;BR /&gt;Les&lt;BR /&gt;</description>
      <pubDate>Thu, 31 May 2012 13:36:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816165#M45367</guid>
      <dc:creator>Les_Neilson</dc:creator>
      <dc:date>2012-05-31T13:36:38Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816166#M45368</link>
      <description>Neilson thanks,&lt;BR /&gt;Both of the options youmentioned were default "on" when I checked them.</description>
      <pubDate>Thu, 31 May 2012 14:02:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816166#M45368</guid>
      <dc:creator>aafshani</dc:creator>
      <dc:date>2012-05-31T14:02:23Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816167#M45369</link>
      <description>John,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;My present approach is to never use paging while the program is running and make sure the memory footprint of the program is less than 80% of the physical memory installed&lt;BR /&gt;&lt;BR /&gt;Assume for the moment you have an application data requirement that is several/many times that of physical memory.&lt;BR /&gt;&lt;BR /&gt;Solution 1:&lt;BR /&gt;&lt;BR /&gt; Rewrite code to use file I/O&lt;BR /&gt;&lt;BR /&gt;Solution 2:&lt;BR /&gt;&lt;BR /&gt; Rewrite code to assure array indexes (in do/for loops) are ordered favorably for virtual memory access&lt;BR /&gt;&lt;BR /&gt;Note, Solution-2 may require no changes, had you originally organized your loops in a paging favorable manner (which by the way is also cache favorable w/rt TLB).&lt;BR /&gt;&lt;BR /&gt;When some rewrite for Solution 2 is necessary, it generally requires little effort.&lt;BR /&gt;&lt;BR /&gt;Should access be totally random, then Solution 1 is not a solution either.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey</description>
      <pubDate>Thu, 31 May 2012 17:13:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816167#M45369</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-05-31T17:13:04Z</dc:date>
    </item>
    <item>
      <title>Big Size of Matrix error in Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816168#M45370</link>
      <description>&amp;gt;&amp;gt;&lt;STRONG&gt;Access violation writing location 0x0000000000000004&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;Writing into first 4KB of memory is generally indicative of a NULL reference/pointer.&lt;BR /&gt;This can be due to:&lt;BR /&gt;&lt;BR /&gt;incorrect calling (args do not match between caller/callee)&lt;BR /&gt; failing to allocate&lt;BR /&gt; calling library (C) functions with incorrect calling parmeters&lt;BR /&gt; writing to stack based array,outside of bounds, and trashing a pointer/reference/array descriptor.&lt;BR /&gt;&lt;BR /&gt;In Debug build, you usually can find the location in your source where the error occured (Call Stack). When error occurs in library function then sometimes the call stack does not expose the caller as source+line.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey</description>
      <pubDate>Thu, 31 May 2012 17:24:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Big-Size-of-Matrix-error-in-Fortran/m-p/816168#M45370</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-05-31T17:24:43Z</dc:date>
    </item>
  </channel>
</rss>

