The HPSUMMARY Procedure

Getting Started: HPSUMMARY Procedure

This example illustrates a simple use of the HPSUMMARY procedure to summarize using the grid in distributed mode. The following DATA step creates a data set that consists of test scores:

data gridlib.grades;
   input Name $ 1-8 Gender $ 11 Status $13 Year $ 15-16
         Section $ 18 Score 20-21 FinalGrade 23-24;
   datalines;
Abbott    F 2 97 A 90 87
Branford  M 1 98 A 92 97
Crandell  M 2 98 B 81 71
Dennison  M 1 97 A 85 72
Edgar     F 1 98 B 89 80
Faust     M 1 97 B 78 73
Greeley   F 2 97 A 82 91
Hart      F 1 98 B 84 80
Isley     M 2 97 A 88 86
Jasper    M 1 97 B 91 93
;
run;

The following statements read this data set and analyze the data for the two-way combination of CLASS variables and across all observations. To run these statements successfully, you need to set the macro variables GRIDHOST and GRIDINSTALLLOC to resolve to appropriate values, or you can replace the references to the macro variables in the example with the appropriate values.

proc hpsummary data=gridlib.grades;
   performance host="&GRIDHOST" install="&GRIDINSTALLLOC";
   var Score;
   class Status Year;
   types () status*year;
   output out=gridlib.result;
run;
proc print data=gridlib.result;
run;

Figure 9.1 displays the tables produced by the HPSUMMARY procedure. The "Performance Information" table shows that PROC HPSUMMARY ran in distributed mode and the "Data Access Information" table shows that the date were accessed in parallel symmetric mode.

Figure 9.1: HPSUMMARY Output

The HPSUMMARY Procedure

Performance Information
Host Node << your grid host >>
Execution Mode Distributed
Number of Compute Nodes 2
Number of Threads per Node 32

Data Access Information
Data Engine Role Path
GRIDLIB.grades ENGINE Input Parallel, Asymmetric
GRIDLIB.result ENGINE Output Parallel, Asymmetric

Obs Status Year _TYPE_ _FREQ_ _STAT_ Score
1     0 10 MAX 92.0000
2     0 10 MEAN 86.0000
3     0 10 MIN 78.0000
4     0 10 N 10.0000
5     0 10 STD 4.7140
6 1 97 3 3 MAX 91.0000
7 1 97 3 3 MEAN 84.6667
8 1 97 3 3 MIN 78.0000
9 1 97 3 3 N 3.0000
10 1 97 3 3 STD 6.5064
11 1 98 3 3 MAX 92.0000
12 1 98 3 3 MEAN 88.3333
13 1 98 3 3 MIN 84.0000
14 1 98 3 3 N 3.0000
15 1 98 3 3 STD 4.0415
16 2 97 3 3 MAX 90.0000
17 2 97 3 3 MEAN 86.6667
18 2 97 3 3 MIN 82.0000
19 2 97 3 3 N 3.0000
20 2 97 3 3 STD 4.1633
21 2 98 3 1 MAX 81.0000
22 2 98 3 1 MEAN 81.0000
23 2 98 3 1 MIN 81.0000
24 2 98 3 1 N 1.0000
25 2 98 3 1 STD .