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

Just wondering if PROC MI was due to be upgraded/enhanced to be multi-threaded.

 

Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
Rick_SAS
SAS Super FREQ

In general, SAS/STAT R&D appears to be multithreading computations when it makes sense to do so. Portions of  PROC MI might be multithreaded without you being aware. For example, the computation of means for each variable, the computations of correlations during the EM phase, and the forming of the matrix of cross products during regression are all steps that are multithreaded in other procedures. It would not be surprising if PROC MI calls the same underlying routines. Linear algebra computations are another place where PROC MI might be calling a multithreaed algorithm without fanfare.

 

On the other hand, there are probably portions of PROC MI that cannot be multithreaded. I don't know much about the details of multiple imputation, but some algorithms like MCMC are inherently serial processes because the computation of the (i+1)th element of the chain depends on the result of the i_th computation. Although different threads can compute different chains that start from different initial conditions, the computation of an individual chain is most efficiently accomplished by using a single thread.

View solution in original post

1 REPLY 1
Rick_SAS
SAS Super FREQ

In general, SAS/STAT R&D appears to be multithreading computations when it makes sense to do so. Portions of  PROC MI might be multithreaded without you being aware. For example, the computation of means for each variable, the computations of correlations during the EM phase, and the forming of the matrix of cross products during regression are all steps that are multithreaded in other procedures. It would not be surprising if PROC MI calls the same underlying routines. Linear algebra computations are another place where PROC MI might be calling a multithreaed algorithm without fanfare.

 

On the other hand, there are probably portions of PROC MI that cannot be multithreaded. I don't know much about the details of multiple imputation, but some algorithms like MCMC are inherently serial processes because the computation of the (i+1)th element of the chain depends on the result of the i_th computation. Although different threads can compute different chains that start from different initial conditions, the computation of an individual chain is most efficiently accomplished by using a single thread.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 1437 views
  • 0 likes
  • 2 in conversation