pgcollect output

I am trying to get some output similar to out in the PGPROF Profiler Guide

and I ran the following program :j

ames@james WEGtest-64]$ pgcollect -dcache ./grab_pgcc
[sudo] password for james:
PGCOLLECT: unknown CPU type: Intel Core/i7
PGCOLLECT: use -es-function to specify events to be sampled
PGCOLLECT: see the script pgoprun for details
[james@james WEGtest-64]$ ls -al .pgoprun
-rw-------. 1 james james 417 Jul 16 14:04 .pgoprun
[james@james WEGtest-64]$ pgcollect -dcache ./grab_pgcc
PGCOLLECT: unknown CPU type: Intel Core/i7
PGCOLLECT: use -es-function to specify events to be sampled
PGCOLLECT: see the script pgoprun for details
[james@james WEGtest-64]$ gedit .pgoprun
[james@james WEGtest-64]$ pgcollect -dcache ./grab_pgcc
[sudo] password for james:
PGCOLLECT: unknown CPU type: Intel Core/i7
PGCOLLECT: use -es-function to specify events to be sampled
PGCOLLECT: see the script pgoprun for details
[james@james WEGtest-64]$ pgcollect -allcache ./grab_pgcc
PGCOLLECT: unknown CPU type: Intel Core/i7
PGCOLLECT: use -es-function to specify events to be sampled
PGCOLLECT: see the script pgoprun for details
[james@james WEGtest-64]$


I am not sure what is wrong .pgoprun file is now shown:

cpi_data () {
event[${#event[@]}]=–event=CPU_CLK_UNHALTED:500000:0x00:0:1
event[${#event[@]}]=–event=RETIRED_INSTRUCTIONS:500000:0x00:0:1
}

mem_bw_data () {
event[${#event[@]}]=–event=CPU_CLK_UNHALTED:500000:0x00:0:1
event[${#event[@]}]=–event=SYSTEM_READ_RESPONSES:500000:0x07:0:1
event[${#event[@]}]=–event=QUADWORD_WRITE_TRANSFERS:500000:0x00:0:1
event[${#event[@]}]=–event=DRAM_ACCESSES:500000:0x07:0:1
}

If tere are any clues I do not see them, inexperience?


cpi_data () {
event[${#event[@]}]=–event=CPU_CLK_UNHALTED:500000:0x00:0:1
event[${#event[@]}]=–event=RETIRED_INSTRUCTIONS:500000:0x00:0:1
}

mem_bw_data () {
event[${#event[@]}]=–event=CPU_CLK_UNHALTED:500000:0x00:0:1
event[${#event[@]}]=–event=SYSTEM_READ_RESPONSES:500000:0x07:0:1
event[${#event[@]}]=–event=QUADWORD_WRITE_TRANSFERS:500000:0x00:0:1
event[${#event[@]}]=–event=DRAM_ACCESSES:500000:0x07:0:1
}


Now I am not sure what is shown here.

Any help appreciated. Thanks in adavance.

THX 1138

This is a known bug in pgcollect that is fixed in the upcoming 12.6 release.

Most Core i/7 systems were identified by OProfile as Core 2 systems, but more recent Linux releases have improved this.

If you can use a system with a different (older) OS on it, you might have better luck. You can check by executing

pgcollect -list-events | head

Check to see if the first line says Core i/7.

Sorry, otherwise you will have to wait for 12.6.

I tried your suggestion and the ouput is:

pgcollect -list-events | head
[sudo] password for james:
oprofile: available events for CPU type “Intel Core/i7”

See Intel Architecture Developer’s Manual Volume 3B, Appendix A and
Intel Architecture Optimization Reference Manual (730795-001)

For architectures using unit masks, you may be able to specify
unit masks by name. See ‘opcontrol’ man page for more details.

CPU_CLK_UNHALTED: (counter: all)
Clock cycles when not halted (min count: 6000)


So now what else can I try. The cpu is recognized?

Thanks n advance.

THX 1138

I must ask this question again, my computer’'s CPU is recognized. But I stll cannot run pgcollect with anything except -exe as an option.

What must I do? I nned to run OProfile with PGcollect.


Thanks in advance.

THX 1138

Some additional information. As I was instructed when I ran pgcollect -list-events the cpu was identified as Intel Core i/7. However, when I ran pcollect -dcache it gvae me the following output.


pgcollect -dcache ./grab_64_cpu
[sudo] password for james:
PGCOLLECT: unknown CPU type: Intel Core/i7
PGCOLLECT: use -es-function to specify events to be sampled
PGCOLLECT: see the script pgoprun for details


It is like it could not dentify the processor when I ran pgcollect on the second command. It did on the first command of

pgcolect -list-events.


What is going on?

Thanks in advance.

THX 1138

Sorry I wasn’t clear before.

There is a known bug with pgcollect when using OProfile on a system that identifies as a Core i/7. If you run

pgcollect -list-events | head

and you see “Core i/7”, there is a bug that will prevent pgcollect from working.

My previous point was that many Core i/7 systems were/are identified by OProfile as Core 2 systems, and on those pgcollect with OProfile works fine.

Unless you can run on a system that does not identify as Core i/7, you will need to wait for the fix that will be included in PGI 12.6.