turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- PROC MI

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-30-2016 12:17 PM

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

Thanks.

Accepted Solutions

Solution

07-05-2016
02:31 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-01-2016 08:19 AM

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.

All Replies

Solution

07-05-2016
02:31 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-01-2016 08:19 AM

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.