I am running an IML involving optimizing a multivariate function. It took over 40 hours and still running. I tested the algorithm by loosing the convergence criteria and it worked. So I do not think there is anything wrong with the coding. I am wondering if there is anyway to improve the speed by increasing the buffersize of IML? I know there is a command for SQL to increase the buffersize and speed (e.g., proc sql _method buffersize=2097152). Is there a similar command for proc iml? Thanks.
I would be surprised if increasing the workspace memory changes the performance of your algorithm. What will have a more significant effect is making sure that your objective function is vectorized. Avoind DO loops, and use matrix-vector computations whenever possible.
Hmmm, I think that IML uses all the memory that SAS can give it, so you'd have to invoke SAS to give you more memory. I don't think I've ever tried it myself, but here's a University web page (http://www.ciser.cornell.edu/FAQ/SAS/MemoryAllocation.shtm) that shows how to edit the sasv9.cfg file. You could try adding
If you have questions about memory, search for 'memsize' in this forum.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.