* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
@ 2005-09-21 18:31 ` Stephane Eranian
2005-09-21 20:23 ` Gary Hade
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Stephane Eranian @ 2005-09-21 18:31 UTC (permalink / raw)
To: linux-ia64
On Wed, Sep 21, 2005 at 10:45:37PM -0700, David Mosberger-Tang wrote:
> On 9/21/05, Jack Steiner <steiner@sgi.com> wrote:
>
> > In 2002, Gary Hade posted a patch to binutils that added dispersal
> > analysis to the output of objdump. Does anyone know what happened to
> > the patch? Is there another tool that provides the same information?
>
> Yeah, a tool called Montecito! ;-)
>
Indeed.
> I don't remember whether you were at the last Gelato meeting and
> whether you attended the PMU talk. If you didn't: I had some slides
> in there that showed how the IP-EAR can be used to get
> instruction-group issue traces which show you exactly how many
> stall-cycles there are between subsequent instruction-groups. Yes,
> that's a bit different from the static info you are looking for, but
> in many ways it's much better info, so it's real (measured) data and
> takes into affect all corner cases, including memory latency etc.
>
You can get the presentation at:
http://www.gelato.org/pdf/may2005/gelato_may2005_profiling_eranian_callister.pdf
--
-Stephane
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
2005-09-21 18:31 ` Stephane Eranian
@ 2005-09-21 20:23 ` Gary Hade
2005-09-21 21:30 ` James E Wilson
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Gary Hade @ 2005-09-21 20:23 UTC (permalink / raw)
To: linux-ia64
On Wed, Sep 21, 2005 at 01:23:43PM -0500, Jack Steiner wrote:
> In 2002, Gary Hade posted a patch to binutils that added dispersal
> analysis to the output of objdump.
That was a long time ago. :)
> Does anyone know what happened to the patch?
I think it may have died due to lack of interest. I'm
not aware many folks like you that have actually been
using it.
At the time, I obtained a FSF copyright assignment for
the code at the request of one of the binutils maintainers.
AFAIK the patch was never incorporated although I do
not remember seeing any technical concerns from the
binutils maintainers before I moved on to a different
project.
> Is there another tool that provides the same information?
Not that I'm aware of.
The binutils patch was based on an earlier stand-alone utility
that processed `objdump -d` output but that program lacked
Itanium 2 support and several other improvements that I put
in the binutils version. I can't remember very much about the
code but I suspect that some of these changes would not have
been adaptable to the stand-alone utility.
>
> I've found the tool very useful for providing insight into IA64
> code scheduling.
Thanks. We thought it might be useful to someone.
Gary
--
Gary Hade
IBM Linux Technology Center
503-578-4503 IBM T/L: 775-4503
garyhade@us.ibm.com
http://www.ibm.com/linux/ltc
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
2005-09-21 18:31 ` Stephane Eranian
2005-09-21 20:23 ` Gary Hade
@ 2005-09-21 21:30 ` James E Wilson
2005-09-21 21:47 ` James E Wilson
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: James E Wilson @ 2005-09-21 21:30 UTC (permalink / raw)
To: linux-ia64
On Wed, 2005-09-21 at 13:23, Gary Hade wrote:
> At the time, I obtained a FSF copyright assignment for
> the code at the request of one of the binutils maintainers.
> AFAIK the patch was never incorporated although I do
> not remember seeing any technical concerns from the
> binutils maintainers before I moved on to a different
> project.
I searched the binutils mailing lists for "Gary Hade" and all I found
was a ppc disassembler patch. Was it ever submitted to the binutils
group? Maybe it was only submitted to some IA-64 list? If it only went
to an IA-64 list, that may be part of the reason why it got dropped.
The other part of the reason is probably that there weren't any active
IA-64 binutils developers at the time. I'm listed at the IA-64
maintainer, but there was a period in 2002-2003 before and after I left
Red Hat where I could not do much IA-64 related work. Nowadays, we've
got HJ at Intel who does quite a bit of IA-64 related binutils work.
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
` (2 preceding siblings ...)
2005-09-21 21:30 ` James E Wilson
@ 2005-09-21 21:47 ` James E Wilson
2005-09-22 5:45 ` David Mosberger-Tang
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: James E Wilson @ 2005-09-21 21:47 UTC (permalink / raw)
To: linux-ia64
On Wed, 2005-09-21 at 11:23, Jack Steiner wrote:
> In 2002, Gary Hade posted a patch to binutils that added dispersal
> analysis to the output of objdump. Does anyone know what happened to
> the patch? Is there another tool that provides the same information?
As for the "other tool" part of this question, you can get some info
from gcc by using -fsched-verbose=2 -fdump-rtl-sched1 -fdump-rtl-mach.
This will give you a lot of info about what the gcc instruction
scheduler did, but the interesting stuff is in the "--> " lines in the
*.mach file. This will give you lines like
;; 1--> 11 r14=[r14] :2_M_only_um01
which gives you the cycle number (1), the gcc internal instruction
number (11), an abstract representation of what the instruction does
(r14=[r14]), and the scheduling unit info (2_M_only_um01). The 2 stands
for Itanium2. The M stands for a memory unit. The only_um01 means it
must be scheduled to one of the first two memory units.
This info is to help gcc developers debug instruction scheduler related
problems, and isn't really meant to be easily readable by end users, but
you may find it useful.
Actually, the above command only works for gcc-4. For gcc-3, just use
-fsched-verbose=2 -da and ignore the non-scheduler related dump files.
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
` (3 preceding siblings ...)
2005-09-21 21:47 ` James E Wilson
@ 2005-09-22 5:45 ` David Mosberger-Tang
2005-09-22 16:58 ` Jack Steiner
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: David Mosberger-Tang @ 2005-09-22 5:45 UTC (permalink / raw)
To: linux-ia64
On 9/21/05, Jack Steiner <steiner@sgi.com> wrote:
> In 2002, Gary Hade posted a patch to binutils that added dispersal
> analysis to the output of objdump. Does anyone know what happened to
> the patch? Is there another tool that provides the same information?
Yeah, a tool called Montecito! ;-)
I don't remember whether you were at the last Gelato meeting and
whether you attended the PMU talk. If you didn't: I had some slides
in there that showed how the IP-EAR can be used to get
instruction-group issue traces which show you exactly how many
stall-cycles there are between subsequent instruction-groups. Yes,
that's a bit different from the static info you are looking for, but
in many ways it's much better info, so it's real (measured) data and
takes into affect all corner cases, including memory latency etc.
--david
--
Mosberger Consulting LLC, voice/fax: 510-744-9372,
http://www.mosberger-consulting.com/
35706 Runckel Lane, Fremont, CA 94536
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
` (4 preceding siblings ...)
2005-09-22 5:45 ` David Mosberger-Tang
@ 2005-09-22 16:58 ` Jack Steiner
2005-09-22 17:30 ` Gary Hade
2005-09-23 20:41 ` John S. Worley
7 siblings, 0 replies; 9+ messages in thread
From: Jack Steiner @ 2005-09-22 16:58 UTC (permalink / raw)
To: linux-ia64
On Wed, Sep 21, 2005 at 10:45:37PM -0700, David Mosberger-Tang wrote:
> On 9/21/05, Jack Steiner <steiner@sgi.com> wrote:
>
> > In 2002, Gary Hade posted a patch to binutils that added dispersal
> > analysis to the output of objdump. Does anyone know what happened to
> > the patch? Is there another tool that provides the same information?
>
> Yeah, a tool called Montecito! ;-)
Is montecito a free opensource tool :-)
Sorry...
>
> I don't remember whether you were at the last Gelato meeting and
> whether you attended the PMU talk. If you didn't: I had some slides
> in there that showed how the IP-EAR can be used to get
> instruction-group issue traces which show you exactly how many
> stall-cycles there are between subsequent instruction-groups. Yes,
> that's a bit different from the static info you are looking for, but
> in many ways it's much better info, so it's real (measured) data and
> takes into affect all corner cases, including memory latency etc.
Yes, I was at the meeting but I had forgotten about the IP-EAR :-(
It looks like the IP-EAR will be useful in a lot of cases. However, a
static analysis tool would also be useful. It would be nice to have both.
BTW, does the current version of pfmon support montecito? Are any
perfmon.c kernel patches needed??
>
> --david
> --
> Mosberger Consulting LLC, voice/fax: 510-744-9372,
> http://www.mosberger-consulting.com/
> 35706 Runckel Lane, Fremont, CA 94536
--
Thanks
Jack Steiner (steiner@sgi.com) 651-683-5302
Principal Engineer SGI - Silicon Graphics, Inc.
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
` (5 preceding siblings ...)
2005-09-22 16:58 ` Jack Steiner
@ 2005-09-22 17:30 ` Gary Hade
2005-09-23 20:41 ` John S. Worley
7 siblings, 0 replies; 9+ messages in thread
From: Gary Hade @ 2005-09-22 17:30 UTC (permalink / raw)
To: linux-ia64
On Wed, Sep 21, 2005 at 11:31:30AM -0700, Stephane Eranian wrote:
> On Wed, Sep 21, 2005 at 10:45:37PM -0700, David Mosberger-Tang wrote:
> > On 9/21/05, Jack Steiner <steiner@sgi.com> wrote:
> >
> > > In 2002, Gary Hade posted a patch to binutils that added dispersal
> > > analysis to the output of objdump. Does anyone know what happened to
> > > the patch? Is there another tool that provides the same information?
> >
> > Yeah, a tool called Montecito! ;-)
> >
>
> Indeed.
>
> > I don't remember whether you were at the last Gelato meeting and
> > whether you attended the PMU talk. If you didn't: I had some slides
> > in there that showed how the IP-EAR can be used to get
> > instruction-group issue traces which show you exactly how many
> > stall-cycles there are between subsequent instruction-groups. Yes,
> > that's a bit different from the static info you are looking for, but
> > in many ways it's much better info, so it's real (measured) data and
> > takes into affect all corner cases, including memory latency etc.
> >
>
> You can get the presentation at:
> http://www.gelato.org/pdf/may2005/gelato_may2005_profiling_eranian_callister.pdf
Good stuff.
One concern I had 3+ years ago when we proposed dispersal analysis
inclusion in binutils was the likelyhood that the code would keep
pace as the processor evolved. The number of users of such
specialized functionality is obviously very small and I was
skeptical that a subset of those users would also be interested
in keeping the dispersal analysis code updated... especially if
there were other analysis alternatives.
Gary
--
Gary Hade
IBM Linux Technology Center
503-578-4503 IBM T/L: 775-4503
garyhade@us.ibm.com
http://www.ibm.com/linux/ltc
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ia64 dispersal analysis capability
2005-09-21 18:23 ia64 dispersal analysis capability Jack Steiner
` (6 preceding siblings ...)
2005-09-22 17:30 ` Gary Hade
@ 2005-09-23 20:41 ` John S. Worley
7 siblings, 0 replies; 9+ messages in thread
From: John S. Worley @ 2005-09-23 20:41 UTC (permalink / raw)
To: linux-ia64
[-- Attachment #1: Type: text/plain, Size: 752 bytes --]
On Wed, Sep 21, 2005 at 01:23:43PM -0500, Jack Steiner wrote:
>> In 2002, Gary Hade posted a patch to binutils that added dispersal
>> analysis to the output of objdump.
>> Is there another tool that provides the same information?
In my misspent days at HP, I developed a "tool" that would
postprocess objdump -d (and other disassemblers) and create Excel
CVS files that showed the instruction dispatch. There were models
for Merced (LOL) and McKinley/Madison; Montecito would be relatively
easy to add.
I had to leave the code when I "left", so perhaps some brave
soul still at HP (Stephan?) could dig it up and release it, or
make it public domain so that I could. Any interest out there?
Regards,
John Worley
jsworley@qwest.net
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/x-pkcs7-signature, Size: 5324 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread