Jeph Herrin <junk@spandrel.net> asked:
> Using -xtmixed- to fit a simple random-intercept model (however
> on >1million obs) I get:
> _xtm_mixed_ll_uu(): 3900 unable to allocate real <tmp>[1569048,51]
> _xtm_mixed_ll_u(): - function returned error
> _xtm_em_iter_u(): - function returned error
> _xtm_em_iter(): - function returned error
> <istmt>: - function returned error
> r(3900);
> I understand that this means Mata ran out of memory, but I'm a bit puzzled
> by the explanation of r(3900) that there is nothing I can do- it's between
> Mata and the OS (xp, 4gb). Usually when Stata reports out of memory, I know
> what I can do (drop variables, compress them, allocate more). Is it the case
> here that my model simply requires a certain matrix of a certain size, and
> Mata cannot allocate it because of hardware limitations? Or can I find Mata
> some more memory by reducing what Stata needs otherwise? Any insight
> appreciated.
Kit Baum <baum@bc.edu> replied that you need 625 Mb of memory for that
matrix and that your 32-bit XP is refusing to give it to you. I would add
that since Mata interacts with the OS directly, reducing the amount of memory
Stata needs otherwise may help make more memory available to Mata, but that is
still quite a bit of memory.
I should also point out that such Mata errors should be trapped by the calling
command, in this case, -xtmixed-. That is, the error message you see should
come directly from -xtmixed- after it has internally processed the Mata error
and done some housekeeping. That is something we'll fix in a future update.
I'm also curious as to how Jeph is running a "simple random-intercept" model,
yet Mata is requiring a 51-column matrix. Usually such models require only a
column dimension of one regardless of the number of observations. If Jeph
wishes to pursue this further, he can email me privately.
--Bobby
rgutierrez@stata.com
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/