Items tagged with memory memory Tagged Items Feed

Hi,

When I run a maple program which take a long time (in command line), I have this kind of message every second:

"memory used=43867.3MB, alloc=147.3MB, time=856.28"

Does there exist any way to avoid this display ?

Thanks in advance.

I am running a Maple procedure in CLI Maple (mainly because it just provides colored random numbers for other work). When the procedure runs I am getting this kind of output scrolling by:

memory used=10732.9MB, alloc=344.0MB, time=895.85
memory used=10809.2MB, alloc=345.6MB, time=904.26
memory used=10885.5MB, alloc=347.3MB, time=912.67
memory used=10961.8MB, alloc=348.9MB, time=921.27
.
.
.

So I am wondering what "memory used" and "memory allocated" mean here. In "Activity Monitor" (this is Mac OS X) I see that the "memory allocated" values correspond rather closely to the "real memory" usage. No idea what the "memory used" column is. Note that this is a 32 bit process running on a PPS Mac, and it merrily "uses" unlimited amounts of memory that don't exist on the machine and that a 32 bit process should not be able to use (I think Mac OS X limits 32 bit processes to 4 GB). It is clearly not paging as the machine stays perfectly useable.

So, what am I to make of these numbers?

Mac Dude.

 

Is there any command in maple that can show us an assigned varibale how much bytes occupied on memory ?

a:=["just a string", 3.14 , 123 , x/y]

d:=array( 1 .. 2, 1 .. 2, [( 1, 1 ) = ("just a string"), ( 1, 2 ) = (3.14), ( 2, 1 ) = (123), ( 2, 2 ) = (x/y)  ] )

c:=a x^2 + b x + c

b := Matrix(2, 2, {(1, 1) = "just a string", (1, 2) = 3.14, (2, 1) = 123, (2, 2) = x/y})

b := Matrix(2, 2, {(1, 1) = "just a string", (1, 2) = 3.14, (2, 1) = 123, (2, 2) = x/y})

(1)

``


It should be great for benchmarking !

I am running a huge symbolic problem in Maple 18. At the moment, I dont even know if there is enough computational power to suceed the computation.

 

However, I'd like to save a progress. And maybe to continue computation later.

Is there any way to save progress?

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 !!

i got kernel connection lost error when memory used reach 2.87GB

how to make it fully used 3.8GB ram, total 4GB ram

indexlistresult := [];
gaga := [seq(i, i=1..512];
nops(indexlistresult);
indexlistresult := [op(indexlistresult), op(gaga)];
nops(indexlistresult);
indexlistresult := [op(indexlistresult), op(gaga)];
nops(indexlistresult);
indexlistresult := [op(indexlistresult), op(gaga)];
nops(indexlistresult);
with(combinat):
gg := permute(indexlistresult, 3);

Hi,

 

I am trying to find the inverse of 8x8 generic symbolic matrix. Everytime I evaluate the program I get the following error:

 

Error, (in expand/bigprod) Maple was unable to allocate enough memory to complete this computation. Please see ?alloc

 

Can anyone guide me how to increase the memory allocation? And would that solve the problem for me?

 

Any help is appreciated.

 

Thanks!!

Hello!

I would like to start with the following set of 9 elements,
A = { E11, E12, E21, E22, E11+E12, E11+E21, E12+E22, E21+E22, E11+E12+E21+E22 }.

I need a procedure that takes each of those elements and creates 3 new ones in the following way: Eij becomes Eij1, Eij2, Eij1+Eij2. So for example, E11 will become: E111, E112, and E111+E112. And for example the fifth element in A (i.e. E11+E12) will become the 3 new elements: E111+E121, E112+E122, and E111+E121 + E112+E122.

Since each of the 9 elements gets triplicated, there will be a new set, call it B, with 27 elements.

B = {E111, E112, E111+E112, E121, E122, E121+E122, ... }

Now I want to repeat this process of triplicating again so that, for example, E111 becomes: E1111, E1112, and E1111+E1112. And so on. This new set C will have 81 elements. Now I want to repeat this one last time. The final set, D, will have 243 (3^5) elements. 

Step 2: 

For every pair of elements x and y in D, I want to compute z:=(x+y)mod2. If z already belongs to D, discard it, otherwise, place z in the set D2. Do this until there are no more elements to add together (note that if x+y is computed then I don't want y+x to be computed also--that's inefficient). Maybe the most efficient way is to perform all possibly combinations of x+y mod 2 to create the set D2 and then just go: D2 setminus D.

Step 3: For x in D and y in D2 perform all possible combinations of z:=(x+y)mod2 and place these in D3 then perform set subtraction again: D3 minus D2 minus D.

Repeat this process again: x in D and y in D3 to create new elements in D4. Repeat again until Dm is empty (that is, D(m-1) will be the last set that contains new elements). I'm expecting around 12 sets... 

The issue with this whole algorithm is that I often run out of memory so I need a clever way to do this, since this algorithm is essentially classifying 2^32 elements into disjoint sets. Thank you! 

Hi,

 

  I have a loop code, such as

 

****

i_max:=10;

for i from 1 to i_max do
  blah blah blah

end do;

****

 

  I would like to clean memory, something like restart suppose to do, after each cycle. Restart could only work at top level. How should I do to clean memory after each cycle?

 

Hello everybody,

 

I have to solve a non linear equation using a numerical method. I use a loop after each iteration, Maple keep the results in memory instead of release their in variable. So calculation time is very long and the memory goes up.

Could you help me to improve the calculation time ? In fact, I would like to store results in a list and maple erases each intermediate results.

 

Thank a lot

 

 

[carré]NewmarkAlgo2FCzAlp.mw

Hi,

I have a code which stores large amount of intermediate data.

Ones the data has been used i unassign the variables storing the data and perform garbage collection. But memory is not returned to the operating system for reallocation.

can somebody please tell me how to release memory back to os so that task manager shows memory release (without doing the maple server reset).

And i dont understand the purpose of stupid gc if it is not returning memory back to the windows?

Hi Mapleprimers,

I was wondering if there way a way to use restart(); and clear Maple's memory, but protect the memory in a certain variable?  I would like to return the memory to the operating system, but keep a symholic function in memory.

Alternatively, is there a way to save a symbolic function to a file, then reload it at a seperate time?

 

I'm running a long loop with a lot of variables. I have noticed that Maple does not seem to clear its memory after each loop iteration, which results in very large memory used after all the iterations. I can't use restart because I need a few variables to be remembered throughout the loop for analysis afterwards. So the question is how to clear the memory for selective variables and procedures at the end of each iteration.

I've found the following project: http://www.parallella.org/

It is a very cheap but impressive computer ( 64-cores, they say it gives about 90 GFLOPS of computing power). The problem is the very limited amount of memory (1GB). See: http://www.parallella.org/board/ for specifications.

Now my question is: do you think Maple will run on this machine (acoording to the site it will run Ubuntu) and if so then does it make sense to try it given the small amount of memory it has? Or in another words: do there exist problems that could be solved by Maple on this powerful machine and that cannot be solved on a regular machine with let's say 4GB of RAM?

Hi,

I need to solve following problem, but i m facing memory allocation problem in code. I dont know where memory is consuming.

Download nonlinearx.mw

Thanx in advance.

Regards

Sunit

1 2 3 4 5 Page 1 of 5