<div dir="ltr"><div>Matthew,<br><br></div>That looks right. I'm concluding that the .astype(np.uint8) is applied after the array is constructed, instead of during the process. This random array is a test case. In the production analysis of radio telescope data this is how the data comes in, and there is no  problem with 10GBy files.<br>linearInputData = np.fromfile(dataFile, dtype = np.uint8, count = -1)<br>spectrumArray = linearInputData.reshape(nSpectra,sizeSpectrum)<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Dec 6, 2015 at 4:07 PM, Matthew Brett <span dir="ltr"><<a href="mailto:matthew.brett@gmail.com" target="_blank">matthew.brett@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<span class=""><br>
On Sun, Dec 6, 2015 at 12:39 PM, DAVID SAROFF (RIT Student)<br>
<<a href="mailto:dps7802@rit.edu">dps7802@rit.edu</a>> wrote:<br>
> This works. A big array of eight bit random numbers is constructed:<br>
><br>
> import numpy as np<br>
><br>
> spectrumArray = np.random.randint(0,255, (2**20,2**12)).astype(np.uint8)<br>
><br>
><br>
><br>
> This fails. It eats up all 64GBy of RAM:<br>
><br>
> spectrumArray = np.random.randint(0,255, (2**21,2**12)).astype(np.uint8)<br>
><br>
><br>
> The difference is a factor of two, 2**21 rather than 2**20, for the extent<br>
> of the first axis.<br>
<br>
</span>I think what's happening is that this:<br>
<br>
np.random.randint(0,255, (2**21,2**12))<br>
<br>
creates 2**33 random integers, which (on 64-bit) will be of dtype<br>
int64 = 8 bytes, giving total size 2 ** (21 + 12 + 6) = 2 ** 39 bytes<br>
= 512 GiB.<br>
<br>
Cheers,<br>
<br>
Matthew<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="https://mail.scipy.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">David P. Saroff <br>Rochester Institute of Technology<br>54 Lomb Memorial Dr, Rochester, NY 14623<br><a href="mailto:david.saroff@mail.rit.edu" target="_blank">david.saroff@mail.rit.edu</a> | (434) 227-6242 <br>
<br></div></div>
</div>