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-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

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
  • 1739 views
  • 0 likes
  • 2 in conversation