Valkyrie

20 Reputation

One Badge

10 years, 50 days

MaplePrimes Activity


These are questions asked by Valkyrie

Dear all,

 

Let me first explain a problem I've encountered when working with Maple 18 64 bit in Linux (Ubuntu 12.04). I've tried some things to solve it, but unfortunately without succes

When working with the DifferentialAlgebra package I'm encountering a problem concerning memory. Without going into details, I'm using the RosenfeldGroebner function (DifferentialAlgebra/RosenfeldGroebner) . After about 10 minutes of calculation or so, the computation stops with the error message

>> Error, (in DifferentialAlgebra:-RosenfeldGroebner) out of memory error

This particular error does not have a *help*-file, so no help there.

Now, I'm pretty bumped out because of this error, because I'm working on 16 GB RAM computer which is imo quite a lot. Moreover, I have the feeling, that Maple is not using the full capacity of memory. This, is because I was monitoring the memory during the computation (via the System monitor). Before I start the calculation: the memory usage is about 3.6 GiB (=22.8%). During the calculation it slowly rises until about 8GiB (50%) at which the computation stops and the above-mentioned error message pops up. So it looks there's a big part (about 7.5-8 GiB) of memory still available, but isn't used.

So my question is: What are the possibilities to solve this problem. What can I try to do to have more memory available to be able to do the calculation.


Of course I was looking into the possibilities myself. In my experience I found the information found on this forum and on the Maple help files confusing or not very helpful. Probably, because I have little knowledge of programming or computer architecture. Nevertheless I would like to know some things about it. So, iI'll  present what I tried to do:

- The command kernelopts('datalimit') returns the total amout of heap memory in kibibtyes that Maple may consume   
  In my aplication this is set to infinity. So I presume that this could not explain why the program stops at only 50% Memory usage

- The command kernelopts('bytesalloc') returns the total amount of bytes allocated by Maple kernel. This value cannot be set.  Does this attribute pose a limit on calculations or is this  the amount of memory used by the Maple 'overhead'?   
In my application the value of this attribute is 8781824 bytes, so that's about 8 MB. I suppose it is not related to the problem I'm having, or is it? 

The command kernelopts('stacklimit') returns The total amount of stack space avilable. In my application this was initially set to 8160 kibityes. I've changed this to 8160000000, wel beyond the availble memory. I would think that this now would not anymore present a limit on the memory usage.

The command kernelopts('jvmheaplimit') returns the maximum amout of heap memory for the Java virtual machine. I presume this is the maximum amout of memory for the visiualisation part of Maple (is this correct) In my application this was initially set to 65536 kiB. I've changed this to 65536000000 kBib which is well above the available memroy. I would think that this now would not anymore present a limit on the memory usage

The command   kernelopts('cacheclearlimit'); returns the memory for maintaining temporary elements in cache. In my application this was initially 524288 kiB, but i changed this to 524288000000. I would think that, again, the limit on the memory usage would be gone.

I tried the calculation again with the mentioned changes in the memory attributes. Unfortunately, the error message *out of memory error* still popped up at about 50% memory usage.

Did I overlook something?? What can I do?? Is there actually that I can do? Where should I look?

Many thanks !!

Page 1 of 1