This post was kindly contributed by SAS Programming for Data Mining Applications - go there to comment and to read the full post. |
SAS used to not support multithreading in PCA, then I figured out that its server version supports this functionality, see here. Today, I found this mutlithreading capability is finally available in PC SAS v9.22.
The figure above indicates that all 4 threads in my PC are utilized. FYI, My PC uses an Intel 2core 4threads CPU. This multi-threading capability directly help any work relying on SVD due to the direct relationshipbetween SVD and PC, see here.
Notice that in order to observe the effect of mutli-threading by comparing Real User Time and CPU Time, I/O should not be a bottleneck, that is why in the code, all outputs, either to screen or to data sets, are suppressed.
options fullstimer;
data _junky;
length id x: 8;
array x{800};
do id=1 to 5E3;
do j=1 to dim(x);
x[j]=ranuni(0);
end;
drop j; output;
end;
run;
proc princomp data=_junky noprint;
var x:;
run;
This post was kindly contributed by SAS Programming for Data Mining Applications - go there to comment and to read the full post. |