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

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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