BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
KGeorge
Calcite | Level 5

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

1 ACCEPTED SOLUTION

Accepted Solutions
Rick_SAS
SAS Super FREQ

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

5 REPLIES 5
Rick_SAS
SAS Super FREQ

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.

KGeorge
Calcite | Level 5

Thanks for the information, Rick.

FFR
Calcite | Level 5 FFR
Calcite | Level 5

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:-(

Rick_SAS
SAS Super FREQ

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.

Hutch_sas
SAS Employee

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.

sas-innovate-2024.png

 

Time is running out to save with the early bird rate. Register by Friday, March 1 for just $695 - $100 off the standard rate.

 

Check out the agenda and get ready for a jam-packed event featuring workshops, super demos, breakout sessions, roundtables, inspiring keynotes and incredible networking events. 

 

Register now!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

From The DO Loop
Want more? Visit our blog for more articles like these.
Discussion stats
  • 5 replies
  • 1705 views
  • 2 likes
  • 4 in conversation