I was too optimistic on the event names. Also, it looks like that kernel parameter will have to set.

 

More shortly.

 

-michael

 

From: Will Boyd [mailto:wbinventor@gmail.com]
Sent: Friday, January 06, 2017 9:56 AM
To: D'mello, Michael <michael.dmello@intel.com>; Hammond, Jeff R <jeff.r.hammond@intel.com>; intel-nda@jlse.anl.gov
Subject: Re: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

Thanks Michael. I tried running the "hpc-performance" command but it led to this:

 

amplxe: Error: Cannot find knob dram-bandwidth-limits. For a list of available knobs, use –help collect-with runsa

 

After removing the dram-bandwith-limits knob, it errored out with the same error message I've seen due to "perf":

 

amplxe: Warning: To profile kernel modules during the session, make sure they are available in the /lib/modules/kernel_version/ location.

ERROR: Event CYCLE_ACTIVITY.STALLS_L1D_MISS discarded since the event is invalid or the device does not exist

ERROR: Event CYCLE_ACTIVITY.STALLS_L2_MISS discarded since the event is invalid or the device does not exist

ERROR: Event CYCLE_ACTIVITY.STALLS_MEM_ANY discarded since the event is invalid or the device does not exist

ERROR: Event CYCLE_ACTIVITY.STALLS_TOTAL discarded since the event is invalid or the device does not exist

ERROR: Event IDQ_UOPS_NOT_DELIVERED.CORE discarded since the event is invalid or the device does not exist

ERROR: Event INT_MISC.RECOVERY_CYCLES discarded since the event is invalid or the device does not exist

ERROR: Event MEM_LOAD_UOPS_RETIRED.L3_HIT_PS discarded since the event is invalid or the device does not exist

ERROR: Event MEM_LOAD_UOPS_RETIRED.L3_MISS_PS discarded since the event is invalid or the device does not exist

ERROR: Event OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_DATA_RD discarded since the event is invalid or the device does not exist

ERROR: Event OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD_GE_6 discarded since the event is invalid or the device does not exist

ERROR: Event RESOURCE_STALLS.SB discarded since the event is invalid or the device does not exist

ERROR: Event RS_EVENTS.EMPTY_CYCLES discarded since the event is invalid or the device does not exist

ERROR: Event UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC discarded since the event is invalid or the device does not exist

ERROR: Event UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC discarded since the event is invalid or the device does not exist

ERROR: Event UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC discarded since the event is invalid or the device does not exist

ERROR: Event UOPS_ISSUED.ANY discarded since the event is invalid or the device does not exist

ERROR: Event UOPS_RETIRED.RETIRE_SLOTS discarded since the event is invalid or the device does not exist

ERROR: Event IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE discarded since the event is invalid or the device does not exist

ERROR: Event OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD:cmask=4 discarded since the event is invalid or the device does not exist

ERROR: Event OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DATA_RD discarded since the event is invalid or the device does not exist

ERROR: Event FP_ARITH_INST_RETIRED.SCALAR_SINGLE discarded since the event is invalid or the device does not exist

ERROR: Event FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE discarded since the event is invalid or the device does not exist

ERROR: Event FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE discarded since the event is invalid or the device does not exist

ERROR: Event FP_ARITH_INST_RETIRED.SCALAR_DOUBLE discarded since the event is invalid or the device does not exist

ERROR: Event FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE discarded since the event is invalid or the device does not exist

ERROR: Event FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE discarded since the event is invalid or the device does not exist

ERROR: Event INST_RETIRED.X87 discarded since the event is invalid or the device does not exist

amplxe: Error: both cgroup and no-aggregation modes only available in system-wide mode

 

 usage: perf stat [<options>] [<command>]

 

    -G, --cgroup <name>   monitor event in cgroup name only

    -A, --no-aggr         disable CPU count aggregation

    -a, --all-cpus        system-wide collection from all CPUs

 

On Fri, Jan 6, 2017 at 10:45 AM D'mello, Michael <michael.dmello@intel.com> wrote:

Great. For convenience, you may want to script this, but here is the line for hpc performance:

 

amplxe-cl -collect-with runsa -knob event-config=CPU_CLK_UNHALTED.THREAD:sa=2300000,CPU_CLK_UNHALTED.REF_TSC:sa=2300000,INST_RETIRED.ANY:sa=2300000,CYCLE_ACTIVITY.STALLS_L1D_MISS:sa=2000003,CYCLE_ACTIVITY.STALLS_L2_MISS:sa=2000003,CYCLE_ACTIVITY.STALLS_MEM_ANY:sa=2000003,CYCLE_ACTIVITY.STALLS_TOTAL:sa=2000003,IDQ_UOPS_NOT_DELIVERED.CORE:sa=2000003,INT_MISC.RECOVERY_CYCLES:sa=2000003,MEM_LOAD_UOPS_RETIRED.L3_HIT_PS:sa=50003,MEM_LOAD_UOPS_RETIRED.L3_MISS_PS:sa=100003,OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_DATA_RD:sa=2000003,OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD_GE_6:sa=2000003,RESOURCE_STALLS.SB:sa=2000003,RS_EVENTS.EMPTY_CYCLES:sa=2000003,UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC:sa=2000003,UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC:sa=2000003,UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC:sa=2000003,UOPS_ISSUED.ANY:sa=2000003,UOPS_RETIRED.RETIRE_SLOTS:sa=2000003,IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE:sa=2000003,OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD:cmask=4:sa=2000003,OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DATA_RD:sa=2000003,FP_ARITH_INST_RETIRED.SCALAR_SINGLE:sa=2000003,FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE:sa=2000003,FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE:sa=2000003,FP_ARITH_INST_RETIRED.SCALAR_DOUBLE:sa=2000003,FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE:sa=2000003,FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE:sa=2000003,INST_RETIRED.X87:sa=2000003 -knob collectMemBandwidth=true -knob dram-bandwidth-limits=true -knob analyze-loops=true -knob analyze-openmp=true ./a.out

 

Also, feel free to remove the ‘:sa=xxxxx’ parameter specifications.

 

You may find this (slightly dated) video useful: https://software.intel.com/en-us/videos/intel-vtune-amplifier-xe-video-tutorial-5-using-the-command-line

 

More shortly.

 

-michael

 

From: Will Boyd [mailto:wbinventor@gmail.com]
Sent: Friday, January 06, 2017 9:36 AM


To: D'mello, Michael <michael.dmello@intel.com>; Hammond, Jeff R <jeff.r.hammond@intel.com>; intel-nda@jlse.anl.gov
Subject: Re: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

Michael,

 

The output for that command was the following:

 

]$ amplxe-cl -collect-with runsa -knob event-config=CPU_CLK_UNHALTED.THREAD:sa=2300000,CPU_CLK_UNHALTED.REF_TSC:sa=2300000,INST_RETIRED.ANY:sa=2300000 openmc

amplxe: Warning: To profile kernel modules during the session, make sure they are available in the /lib/modules/kernel_version/ location.

amplxe: Collection started. To stop the collection, either press CTRL-C or enter from another console window: amplxe-cl -r /home/wboyd/ecp-benchmarks/pin-cell/r001runsa -command stop.

 

...

 

amplxe: Collection stopped.

amplxe: Using result path `/home/wboyd/ecp-benchmarks/pin-cell/r001runsa'

amplxe: Executing actions  0 %                                                 

amplxe: Warning: The result contains a lot of raw data. Finalization may take much time. Use the -finalization-mode=deferred option to finalize the result on a faster single-thread performance machine.

amplxe: Executing actions 12 % Loading '91917.perf' file                       

 

amplxe: Executing actions 19 % Resolving information for `libhdf5_fortran.so.10

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/fs/jbd2/jbd2.ko'.

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/fs/nfs/nfs.ko'.

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/fs/ext4/ext4.ko'.

amplxe: Executing actions 19 % Resolving information for `libhdf5_hl.so.100.0.0

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/drivers/ata/libahci.ko'.

amplxe: Executing actions 19 % Resolving information for `libahci.ko'          

amplxe: Warning: Cannot locate debugging symbols for file `/usr/lib64/libc-2.17.so'.

amplxe: Executing actions 19 % Resolving information for `libpthread-2.17.so'  

amplxe: Warning: Cannot locate debugging symbols for file `/usr/lib64/libpthread-2.17.so'.

amplxe: Executing actions 20 % Resolving information for `ld-2.17.so'          

amplxe: Warning: Cannot locate debugging symbols for file `/usr/lib64/ld-2.17.so'.

amplxe: Executing actions 20 % Resolving information for `libm-2.17.so'        

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/net/sunrpc/sunrpc.ko'.

amplxe: Executing actions 20 % Resolving information for `sunrpc.ko'           

amplxe: Warning: Cannot locate debugging symbols for file `/usr/lib64/libm-2.17.so'.

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/fs/lockd/lockd.ko'.

amplxe: Executing actions 20 % Resolving information for `libgomp.so.1.0.0'    

amplxe: Warning: %CantOpenFile

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/drivers/ata/libata.ko'.

amplxe: Executing actions 20 % Resolving information for `libata.ko'           

amplxe: Warning: Cannot locate debugging symbols for file `/usr/lib64/libgomp.so.1.0.0'.

amplxe: Executing actions 21 % Resolving information for `libgfortran.so.3.0.0'

amplxe: Warning: Cannot locate debugging symbols for file `/usr/lib64/libgfortran.so.3.0.0'.

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/drivers/net/ethernet/intel/igb/igb.ko'.

amplxe: Executing actions 21 % Resolving information for `libmpi.so.0.0.0'     

amplxe: Warning: Cannot locate file `/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/fs/nfs/nfsv3.ko'.

amplxe: Executing actions 21 % Resolving information for `libgcc_s-4.8.5-201507

amplxe: Warning: Cannot locate debugging symbols for file `/usr/lib64/libgcc_s-4.8.5-20150702.so.1'.

amplxe: Executing actions 75 % Generating a report                             

Collection and Platform Info

----------------------------

Parameter                 r001runsa                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

------------------------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Application Command Line  openmc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

Operating System          3.10.0-514.2.2.el7.x86_64 NAME="Red Hat Enterprise Linux Server"

VERSION="7.3 (Maipo)"

ID="rhel"

ID_LIKE="fedora"

VERSION_ID="7.3"

PRETTY_NAME="Red Hat Enterprise Linux Server 7.3 (Maipo)"

ANSI_COLOR="0;31"

CPE_NAME="cpe:/o:redhat:enterprise_linux:7.3:GA:server"

BUG_REPORT_URL="https://bugzilla.redhat.com/"

 

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"

REDHAT_BUGZILLA_PRODUCT_VERSION=7.3

REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"

REDHAT_SUPPORT_PRODUCT_VERSION="7.3"

Computer Name             knl05.ftm.alcf.anl.gov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

Result Size               1794777221                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

Collection start time     15:00:58 06/01/2017 UTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

Collection stop time      15:03:03 06/01/2017 UTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

 

CPU

---

Parameter          r001runsa                                    

-----------------  ---------------------------------------------

Name               Intel(R) Processor code named Knights Landing

Frequency          1296995999                                   

Logical CPU Count  256                                          

 

Summary

-------

Elapsed Time:       124.992 

CPU Time:           6677.394

Average CPU Usage:  53.360  

CPI Rate:           3.738   

 

Event summary

-------------

Hardware Event Type       Hardware Event Count:Self  Hardware Event Sample Count:Self  Events Per Sample

------------------------  -------------------------  --------------------------------  -----------------

CPU_CLK_UNHALTED.THREAD               6661480800000                           2896296  2300000          

CPU_CLK_UNHALTED.REF_TSC              8660553400000                           3765458  2300000          

INST_RETIRED.ANY                      1781975600000                            774772  2300000          

amplxe: Executing actions 100 % done

 

On Fri, Jan 6, 2017 at 9:57 AM D'mello, Michael <michael.dmello@intel.com> wrote:

Will,

 

This looks good. One more test:

 

amplxe-cl -collect-with runsa -knob event-config=CPU_CLK_UNHALTED.THREAD:sa=2300000,CPU_CLK_UNHALTED.REF_TSC:sa=2300000,INST_RETIRED.ANY:sa=2300000 ./a.out

 

If this works, we can do a similar thing with hpc-performance & memory access. I will send you those command lines.

 

Still checking on a better solution.

 

Regards

 

-michael

 

 

From: Will Boyd [mailto:wbinventor@gmail.com]
Sent: Friday, January 06, 2017 8:38 AM


To: D'mello, Michael <michael.dmello@intel.com>; Hammond, Jeff R <jeff.r.hammond@intel.com>; intel-nda@jlse.anl.gov
Subject: Re: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

Michael,

 

I am running on the machine named "KNL" - in particular, I most recently ran on node "knl05".

 

I ran the command you suggested and the following is the output:

 

$ amplxe-cl -collect-with runsa –analyze-system –duration 5

amplxe: Collection started. To stop the collection, either press CTRL-C or enter from another console window: amplxe-cl -r /home/wboyd/r000runsa -command stop.

amplxe: Collection detached.

amplxe: Collection stopped.

amplxe: Using result path `/home/wboyd/r000runsa'

amplxe: Executing actions 100 % done                                           

amplxe: Error: 0x40000025 (Inapplicable report) -- The report 'summary' is not applicable to the result /home/wboyd/r000runsa/r000runsa.amplxe.

 

Let me know if you have any insights based on the concluding error message.

 

Best,

Will

 

On Thu, Jan 5, 2017 at 8:28 PM D'mello, Michael <michael.dmello@intel.com> wrote:

Hi Will,

 

For some reason, I am not able to log into my account on the JLSE login node. My progress on the problem has therefore been delayed.

 

While I sort out my login problems, could you try:

 

Ø  amplxe-cl -collect-with runsa –analyze-system –duration 5

 

Send me the output of this command.

 

Also which JLSE KNL are you using?

 

Regards

 

-michael

 

From: Will Boyd [mailto:wbinventor@gmail.com]
Sent: Thursday, January 05, 2017 10:55 AM


To: D'mello, Michael <
michael.dmello@intel.com>; Hammond, Jeff R <jeff.r.hammond@intel.com>; intel-nda@jlse.anl.gov
Subject: Re: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

For some reason, "hpc-performance" is not provided as an "Analysis Type" in the GUI when the Intel Xeon Phi is selected as the "Analysis Target." Nevertheless, I selected "memory-access" as an "Analysis Type" and produced the following command line:

 

amplxe-cl -target-system mic-native:mic0 -collect memory-access -knob analyze-openmp=true -app-working-dir /home/wboyd/ecp-benchmarks/pin-cell -- /home/wboyd/openmc/build/bin/openmc

 

When launched from a KNL node on JLSE, this results in the following error:

 

amplxe: Using target: mic-host-launch:mic0

amplxe: Error: Amplifier cannot detect Intel Xeon Phi coprocessor configuration.

amplxe: Error: Amplifier cannot detect Intel Xeon Phi coprocessor configuration.

 

Thanks in advance for any advice on how to sidestep this issue.

 

On Thu, Jan 5, 2017 at 8:13 AM Will Boyd <wbinventor@gmail.com> wrote:

Thank you Michael. I don't have root privileges on JLSE, but I will try to extract the command line from the GUI as a workaround. Thanks for looking into this, I really appreciate the help.

 

On Thu, Jan 5, 2017, 1:23 AM D'mello, Michael <michael.dmello@intel.com> wrote:

Will,

 

From what I can tell, the system you are on seems to be configured to use the Linux “perf” collector by default. For “hpc-performance” to run with this collector, you will have to configure “perf” in system wide mode. The error you were seeing seems to be related to this.

 

The following page provides some details: https://software.intel.com/en-us/perf_collection_from_lin (I have listed the relevant section below).

 

Unfortunately, the information provided will not help directly (unless you have root privelages on jlse).

 

One workaround is to configure the analysis in the gui & output the command line (click on the “Command Line” button). You will have to check the “Use –collect with action” box to get the command line you need. This approach should work, but as you will see the command line is complicated. You can certainly try this, but I believe there is a simpler workaround. More on this shortly.

 

Regards

 

-michael

 

PS: The relevant section on the page is:

 

NOTE

·        For uncore events collection, configure Perf to run in the system-wide mode by setting the /proc/sys/kernel/perf_event_paranoid value to 0 or less (root privileges are required).

·        For the kernel modules resolution, make sure you have enough permissions to read kernel symbols information from the /proc/kallsyms file.

Perf-based driverless collection can be used for running Advanced Hotspots, General Exploration and Custom event-based sampling analysis types on Linux and Android OS. If the uncore events support is available on the system, the VTune Amplifier may also use the Perf collection for Memory Access, HPC Performance Characterization and General Exploration analysis types with the Analyze memory bandwidth option enabled.

 

From: Will Boyd [mailto:wbinventor@gmail.com]
Sent: Wednesday, January 04, 2017 8:36 PM
To: D'mello, Michael <
michael.dmello@intel.com>; Hammond, Jeff R <jeff.r.hammond@intel.com>; intel-nda@jlse.anl.gov


Subject: Re: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

Michael,

Yes, that command works, along with "concurrency" and "locksandwaits". Only the "hpc-performance" and "memory-access" fail on KNL.

Will

 

On Wed, Jan 4, 2017, 8:09 PM D'mello, Michael <michael.dmello@intel.com> wrote:

Hi Will,

 

Does this command work?

 

> amplxe-cl –collect advanced-hotspots openmc

 

Regards

 

-michael

 

 

 

 

From: Will Boyd [mailto:wbinventor@gmail.com]
Sent: Wednesday, January 04, 2017 4:25 PM
To: Hammond, Jeff R <
jeff.r.hammond@intel.com>; D'mello, Michael <michael.dmello@intel.com>; intel-nda@jlse.anl.gov


Subject: Re: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

I am trying to run VTune on KNL but am running into the following error:

 

$ amplxe-cl -collect hpc-performance openmc

amplxe: Error: both cgroup and no-aggregation modes only available in system-wide mode

 

 usage: perf stat [<options>] [<command>]

 

    -G, --cgroup <name>   monitor event in cgroup name only

    -A, --no-aggr         disable CPU count aggregation

    -a, --all-cpus        system-wide collection from all CPUs

 

This command works fine on a Haswell node, but breaks when I run it on KNL. I am able to run VTune with the "hotspots" collection argument without on KNL. Does anyone know how to resolve this issue?

 

Thanks,

Will

 

On Tue, Dec 13, 2016 at 6:22 PM Hammond, Jeff R <jeff.r.hammond@intel.com> wrote:

FWIW based upon my experience trying unsuccessfully to debug why NWChem won’t run in the Vtune GUI, I recommend always using Vtune CLI.  It’s a bad habit to get used to fancy features like GUIs and dynamic memory allocation if you want to be a serious HPC person ;-)

 

Jeff

 

Date: Tuesday, December 13, 2016 at 3:00 PM
To: "D'mello, Michael" <
michael.dmello@intel.com>, "intel-nda@jlse.anl.gov" <intel-nda@jlse.anl.gov>
Subject: Re: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

Thank you Michael and Jeff. Downloading the results from the VTune CLI and importing them into the VTune GUI locally works great.

 

On Tue, Dec 13, 2016 at 5:35 PM D'mello, Michael <michael.dmello@intel.com> wrote:

Hi Will,

 

You can use the command line interface to collect the profiling information. For example:

 

Ø  amplxe_cl –collect hotspots ./a.out

 

You can then move the results (entire directory) over to the environment (Windows or Linux) in which you would like to view the results.

 

regards

 

-michael

 

 

From: intel-nda-bounces@lists.jlse.anl.gov [mailto:intel-nda-bounces@lists.jlse.anl.gov] On Behalf Of Will Boyd
Sent: Tuesday, December 13, 2016 4:30 PM
To: intel-nda@jlse.anl.gov


Subject: [JLSE-Intel-NDA] Using VTune remotely on the Phi

 

I am interested in profiling an application on the Phi using Intel VTune. I would like to use the graphical interface for VTune, but have been unable to launch VTune remotely using my local instance of VTune. Does anyone have any recommendations for how to remotely profile my application on the Phi but view the results locally with the VTune GUI on my workstation?

 

Thanks,

Will