34%irm_session_prepare();
42%let TotRows = %rsk_attrn(&ds_in., nobs);
45data &ds_out_cardinality.;
50 PARTITION_CONFIG = strip(symget(
"N_PARTITIONS"));
57 if(prxmatch(
"/^\d+/i", PARTITION_CONFIG)) then
59 MAX_RANK_NO = max(1, input(PARTITION_CONFIG, 8.));
60 else if(upcase(PARTITION_CONFIG) in (
"ALL",
"MAX")) then
62 MAX_RANK_NO = CPU_CNT;
65 CPU_CNT = round(&sysncpu. * 0.8);
67 ROWS_x_PARTITION = round(TOT_ROWS/CPU_CNT);
69 if(ROWS_x_PARTITION * CPU_CNT > TOT_ROWS) then
71 MAX_RANK_NO = floor(TOT_ROWS/ROWS_x_PARTITION);
74 MAX_RANK_NO = CPU_CNT;
78 MAX_RANK_NO = max(min(MAX_RANK_NO, TOT_ROWS), 1);