A (225000 x 106) matrix isn't very large...only about 0.2 GB. You ought to have room for dozens of matrices of that size on your computer with 16GB of RAM. Perhaps the macro uses many matrices of that size and does not free matrices that are no longer in use? If so, you might be able to tweak the macro. If you want to try Steve's suggestion, here is an article that describes how to read a portion of the data at a time. Perhaps you will find it useful. Reading big data in the SAS/IML language - The DO Loop Or, if the macro is too complicated to pull apart, you can try using the FIRSTOBS= and OBS= data set options to subset the data within a macro loop.
... View more