Menu

Memory exhauted

Leo M.
2018-03-22
2018-04-12
  • Leo M.

    Leo M. - 2018-03-22

    When I simulate a circuit with a large S-parameters file (13x13x13251), I get the error message "Memory exhausted". I think the error come from source code filename PARSE_TOUCHSTONE.CPP, yyoverflow with YYMAXDEPTH 1000000

    Another thing that I noticed, on similar machine, simulations runs about 7 to 8 times faster on Mac OsX (64b) than PC Win10 (64b).
    Thanks

     
  • Claudio Girardi

    Claudio Girardi - 2018-03-22

    thanks, I can reproduce the issue; indeed increasing YYMAXDEPTH the file can be parsed. I'm not an expert on this, but from the doc it seems that this may depend on how the parsing rules were written.
    I'm surprised by the speed difference, I never compared across different OSs before. Did you compile Qucs yourself or used the precompiled packages?

     
  • Leo M.

    Leo M. - 2018-03-23

    I used the pre-compiled package for Windows and OsX to do the benchmark. I did not try to compile the source code.

    Most of my experience with the Win QUCS pre-compiled version. In order to check for the overflow in parsing S-parameters matrix, I decided to install QUCS executable on my Mac. Problem is the same on Win and OsX.

    When running same simulations on Mac, I was myself surprized by the speed of execution difference. It is not only few percent, it is 700 to 800% faster!
    My guess: maybe the code is not compiled with optimization turned ON for Windows target, the code is compile for 32b target Windows, ...?

     
  • Leo M.

    Leo M. - 2018-04-12

    I found the Win 64b binary incorporating the fix for parsing large S-parameters files. It did resolve the problem. I found the binary in: https://github.com/Qucs/qucs/pull/791

    The 64b binary runs much faster than the official 0.0.19 32b binary. Here is a quick run time benchmark with a schematic with 13 ports and 13251 frequencies data point:
    Win 32b is 160 sec
    Win 64b is 38 sec
    OSX 64b is 28 sec

    The run time of the new 64b binary is now more inline with run time from ADS.

    Thanks a lot

     

Log in to post a comment.