I have SAS 9.2/Enterprise 4.3 running on a windows (7 x64) machine with eight cores (+ Tesla C2075 GPU) and cannot get my program to run on more than one core at a time. The code runs nicely and produces great results, but is very slow. The code is below; any thoughts on getting it to run on more than one core would be greatly appreciated.
Thanks,
Mel
proc surveyselect DATA=data
noprint
seed=1
out=boot1
method=srs
samprate=.45
rep=250000;
run;
Proc reg data=boot1 outest=est1(drop=_:)noprint;
MODEL Total = x1 x2 …… xn
/ SELECTION= adjrsq cp start=7 stop=7 best=1;
by replicate;
run;
Proc means data=est1
N;
VAR x1 x2 …… xn;
output out=test1
N= ;
run;
quit;
What happens if you define:
OPTIONS THREADS;
Log shows multiple threads available, but no additional cores are used.
What about defining the CPUCOUNT?:
OPTIONS THREADS=YES CPUCOUNT=8;
Same results; shows the cores, but does not use them.
How slow is very slow?
You'll get that if you're running a SAS desktop license.
Do you have access to a SAS server license? Silly question I know as it is much more expensive.
With 8 cores and a desktop licence you could still run one surveyselect, but then split the resulting reps plus inference into 8 roughly equal parts and run all in paralell in batch, then append all tables after all batch SAS jobs have completed and analyse the boot stats in a 9th interactive session. What happens if you use another constant seed other than 1? (I always use my birthday in 8 digits, cos I think it's a lucky number. Hilarious ay?)
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.
Find more tutorials on the SAS Users YouTube channel.