Thread View: comp.unix.cray
2 messages
2 total messages
Started by David C. Cann
Wed, 14 Oct 1992 20:06
% parallelization
Author: David C. Cann
Date: Wed, 14 Oct 1992 20:06
Date: Wed, 14 Oct 1992 20:06
9 lines
1019 bytes
1019 bytes
> Does anyone know of a simple utility that will report the amount > of vectorization there is in Fortran code? How is it that people > say that their code is 98% vectorized? What tool are they using? 1. I doubt it would be a simple utility... :-) 2. They lie :-) 3. Their funding agents Sorry, I'm in a bad mood, and wanted to share it with the world.
Re: % parallelization
Author: Charles Grassl
Date: Wed, 14 Oct 1992 23:17
Date: Wed, 14 Oct 1992 23:17
84 lines
4736 bytes
4736 bytes
vvvvvvvvvv
In article <1992Oct14.200645.4577@news.eng.convex.com>, cann@convex.com (David C. Cann) writes:
>> Does anyone know of a simple utility that will report the amount
>> of vectorization there is in Fortran code? How is it that people
>> say that their code is 98% vectorized? What tool are they using?
>
>1. I doubt it would be a simple utility... :-)
>2. They lie :-)
>3. Their funding agents
>
>Sorry, I'm in a bad mood, and wanted to share it with the world.
Cheer-up.
A simple utility for measuring vectorization is the Hardware
Performance Monitor (hpm) on CRAY X-MP, Y-MP and Y-MP C90 systems. The
performance monitor is implemented in hardware and has zero overhead.
To use hpm, simply execute:
prompt$ hpm a.out
An example of the hpm output is given below. The vectorization is the
ratio of "Vec F.P. ops" to "F.P. ops".
Charles Grassl
Cray Research, Inc.
Eagan, Minnesota USA
CP: 20.846s, Wallclock: 21.374s, 6.1% of 16-CPU Machine
HWM mem: 5895153, HWM stack: 5380276, Stack overflows: 0
CPU seconds : 20.84 CP executing : 5002168609
Million inst/sec (MIPS) : 22.34 Instructions : 465517654
Avg. clock periods/inst : 10.75
% CP holding issue : 88.56 CP holding issue : 4429926203
Inst.buffer fetches/sec : 0.01M Inst.buf. fetches: 145583
Floating ops/sec : 617.74M F.P. ops : 12875206913
Vector Floating ops/sec : 617.74M Vec F.P. ops : 12875109372
CPU mem. references/sec : 452.67M actual refs : 9434624606
avg conflict/ref : 0.09 actual conflicts : 881372371
VEC mem. references/sec : 452.59M actual refs : 9432962724
B/T mem. references/sec : 0.04M actual refs : 818918
I/O mem. references/sec : 0.07M actual refs : 1495176
avg conflict/ref : 0.23 actual conflicts : 346367
Hold issue condition % of all CPs actual # of CPs
Waiting on A-regs & access : 2.97 148787237
Waiting on S-regs & access : 0.14 6860459
Waiting on V-registers : 39.75 1988534065
Waiting on B/T-registers : 0.02 885601
Waiting on Functional Units : 56.90 2846275416
Waiting on Shared Registers : 0.00 1730
Waiting on Memory Ports : 9.13 456781635
Waiting on Miscellaneous : 1.49 74517084
(octal) instruction type inst./CPUsec actual inst. % of all insts.
(000-004)Special : 0.25M 5289505 1.14
(005-017)Branch : 0.27M 5545542 1.19
(02x,030-033)A Register : 12.92M 269319593 57.85
(034-037)B/T Memory : 0.00M 96357 0.02
(040-043,071-077)S Register : 0.42M 8734074 1.88
(044-061)Scalar Integer : 0.04M 763549 0.16
(062-070)Scalar Floating-Point : 0.00M 97541 0.02
(10x-13x)Scalar Memory : 0.04M 842964 0.18
(140-177)All Vector : 8.39M 174828529 37.56
type of vector operation ops/CPUsec actual ops
Vector Logical : 0.98M 20370931
Vector Shift/Pop/LZ : 0.11M 2305382
Vector Integer Add : 0.31M 6529354
Vector Floating Multiply : 258.11M 5379621380
Vector Floating Add : 350.43M 7303724731
Vector Floating Reciprocal : 9.20M 191763261
Vector Memory Read : 332.19M 6923641482
Vector Memory Write : 120.40M 2509321242
Average Vector Length for all Operations : 127.77
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads