Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Error: attempt to move .org backwards

  1. Sep 22, 2009 #1
    Hi!

    When I compile I am getting this error:
    Code (Text):
    C:\libmingw>C:\MinGW\bin\mingw32-make.exe
    g77 -c -O2 fgnmod.f
    C:\DOCUME~1\Z\LOCALS~1\Temp/ccyybaaa.s: Assembler messages:
    C:\DOCUME~1\Z\LOCALS~1\Temp/ccyybaaa.s:1018: Error: attempt to move .org backwards
    C:\DOCUME~1\Z\LOCALS~1\Temp/ccyybaaa.s:1019: Error: attempt to move .org backwards
    C:\DOCUME~1\Z\LOCALS~1\Temp/ccyybaaa.s:1020: Error: attempt to move .org backwards
    C:\DOCUME~1\Z\LOCALS~1\Temp/ccyybaaa.s:1021: Error: attempt to move .org backwards
    C:\DOCUME~1\Z\LOCALS~1\Temp/ccyybaaa.s:1022: Error: attempt to move .org backwards
    C:\DOCUME~1\Z\LOCALS~1\Temp/ccyybaaa.s:1023: Error: attempt to move .org backwards
    mingw32-make: *** [fgnmod.o] Error 1
    This comes as I am trying to declare these variables
    Code (Text):
        REAL VarX(200001,252), VarY(200001,251)
        REAL VarX1(200001,501), VarY1(200001,500)
        REAL VarX2(200001,501), VarY2(200001,500)
        REAL VarX3(200001,501), VarY3(200001,500)
        REAL VarX4(200001,501), VarY4(200001,500)
        REAL VarX5(200001,501), VarY5(200001,500)
    I don't get this error and this code works as these variables are (2001,*), i.e. 100 times smaller. I have a feeling this can have something to do with memory limits of the compiler or the computer. Is there any way to increase this limit (if that is the problem)? or how can this otherwise be solved?
    I need to run this code with variable of size (350001,*) or larger.

    I should add that I am working with a WinXP (i think 32 bit) with 4GB RAM (of course this is not used as WinXP cannot handle 4GB RAM).

    /Z
     
  2. jcsd
  3. Sep 22, 2009 #2

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    Good luck with that! Each of those arrays is nearly 400 megabytes in size.
     
  4. Sep 22, 2009 #3

    minger

    User Avatar
    Science Advisor

    Agreed. I recently started a numerical analysis with around 300k grid points. My grid was split into around 100 blocks and takes 6 days to solve on 16 processors.
     
  5. Sep 23, 2009 #4
    I don't have any time constraints, let it take 1 week to run the code, that is fine by me as long as it works!
     
  6. Sep 23, 2009 #5

    minger

    User Avatar
    Science Advisor

    The point is that a lot of work and research is done to be able to solve large problems numerically.

    Is there any way to break those arrays into smaller pieces? I'm guessing it just simply doesn't like the size of those.

    edit: When we do a large CFD run, sometimes involving MILLIONS of grid points, usually the largest allocated array is on the order of 100x100x100.
     
  7. Sep 23, 2009 #6

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    There's a huge difference between dynamically allocated arrays and static arrays. Have you tried going to dynamic allocation?
     
  8. Sep 23, 2009 #7
    In my case it is not possible to break the arrays into smaller pieces. But I will try to allocate the arrays dynamically (as soon as I find out how :) )
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Error: attempt to move .org backwards
  1. Error on Python (Replies: 9)

  2. Error in code (Replies: 4)

  3. F77 error (Replies: 3)

Loading...