Hi,
I have been estimating a discrete choice model using the application MaxLikMT, but have been getting an insufficient memory error, either while calculating the gradient or hessian. Here is the full error:
C:\gauss11\Workingfiles\TestV1(1198) : error G0030 : Insufficient memory Currently active call: lpr [1198] C:\gauss11\Workingfiles\TestV1 Stack trace: lpr called from C:\gauss11\src\maxlikmtutil.src, line 521 maxlikmtgrad called from C:\gauss11\src\maxlikmt.src, line 653 maxlikmt called from C:\gauss11\Workingfiles\TestV1, line 1260
I would appreciate if anyone could suggest on dealing with this memory issue.
Thanks and Regards,
Annesha
1 Answer
0
It looks like that line of code is using the threaded version of the gradient calculation which uses more memory. Try turning off the high-level GAUSS threads by setting the maxlikmtcontrol structure member useThreads equal to zero before your call to maxlikmt.
//declare structure struct maxlikmtcontrol c0; //fill in structure with default values c0 = maxlikmtcontrolcreate(); //Add this line to your structure set-up //to turn off threads c0.useThreads = 0;
This should allow your program to run successfully.
Your Answer
1 Answer
It looks like that line of code is using the threaded version of the gradient calculation which uses more memory. Try turning off the high-level GAUSS threads by setting the maxlikmtcontrol structure member useThreads equal to zero before your call to maxlikmt.
//declare structure struct maxlikmtcontrol c0; //fill in structure with default values c0 = maxlikmtcontrolcreate(); //Add this line to your structure set-up //to turn off threads c0.useThreads = 0;
This should allow your program to run successfully.