Statistical programming, matrix languages, and more

Error while initializing matrix using the j function

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 13
Accepted Solution

Error while initializing matrix using the j function

I would like to initialize a matrix using the j function thus A=j(20000,20000) but I get the following error:

ERROR: (execution) Unable to allocate sufficient memory. At least 2147483647 more bytes required.

I have 4GB RAM on a PC running Windows 7, I tried it in SAS 9,2 and 9,3 to no avail. How can I initialize vector A for large values of the rows and columns? How far does IML go in this regard?

Many thanks in advance,

George


Accepted Solutions
Solution
‎10-07-2012 05:36 AM
SAS Super FREQ
Posts: 3,223

Re: Error while initializing matrix using the j function

A 20000 x 20000 matrix has 4x10^8 elements. Each element is a double, which requires 8 bytes, for a total of roughly 3.2GB. The current version of SAS/IML software supports matrices up to 2BG of addressable space. For 32-bit operating systems, this is the maximum size of memory that the OS allows you to allocate in a single chunk.

View solution in original post


All Replies
Solution
‎10-07-2012 05:36 AM
SAS Super FREQ
Posts: 3,223

Re: Error while initializing matrix using the j function

A 20000 x 20000 matrix has 4x10^8 elements. Each element is a double, which requires 8 bytes, for a total of roughly 3.2GB. The current version of SAS/IML software supports matrices up to 2BG of addressable space. For 32-bit operating systems, this is the maximum size of memory that the OS allows you to allocate in a single chunk.

Occasional Contributor
Posts: 13

Re: Error while initializing matrix using the j function

Thanks for the information, Rick.

Occasional Contributor FFR
Occasional Contributor
Posts: 6

Re: Error while initializing matrix using the j function

Will there be a future release of IML which is able to adress more than 2GB? I have tons of RAM and cant use it to handle huge matrices with SAS:-(

SAS Super FREQ
Posts: 3,223

Re: Error while initializing matrix using the j function

I can't comment on future releases, but SAS developers are aware that customers would like to use 64-bit operating systems to address more RAM.

SAS Employee
Posts: 94

Re: Error while initializing matrix using the j function

We are working to overcome this memory limitation on 64-bit windows within the next few releases. 64-bit linux or unix hosts do not have this limitation.

Post a Question
Discussion Stats
  • 5 replies
  • 845 views
  • 2 likes
  • 4 in conversation