Internal Error & Collection Failed while doing HW event based analysis with VTune - ubuntu-18.04

I have a CentOS 7 machine with Ubuntu 18.04 trying to collect hotspots for a particular application and getting error. How to fix this error.
$ /opt/intel/oneapi/vtune/2022.1.0/bin64/vtune -collect hotspots -knob sampling-mode=hw -knob sampling-interval=1 -knob enable-stack-collection=true -knob stack-size=0 -mrte-mode=native -target-duration-type=veryshort -data-limit=10000 -cpu-mask=3 -finalization-mode=full -app-working-dir /local/home/vsolontsov/itto.run --app-working-dir=/local/home/vsolontsov/itto.run -- /usr/local/bin/pin -c 3 -e ./run_feed.sh
vtune: Warning: The Duration Time Estimate option is deprecated. Use the CPU Sampling Interval option on the Analysis Type configuration pane instead.
vtune: Collection failed.
vtune: Internal Error
After I tried the vtune-self-checker in two modes, with and without vtsspp installed.
HW event-based analysis check (Intel driver)
Example of analysis types: Microarchitecture Exploration
Collection: Ok
Finalization: Ok...
Report: Fail
vtune: Error: 0x40000024 (No data) -- No data is collected.
Possible reasons:
- Workload is too small. No samples are collected.
- The application environment is not specified correctly.
- The executable file has been stripped so cannot be profiled with algorithm analysis types.

We tried from our side and It's working fine from our side on centos 8. As centos 7 is deprecated in the release, Intel® one API 2022.1, and will be removed in a future release. In place of centos 7 can you please use other environments then It'll work for you.
Please refer to the below link:
https://www.intel.com/content/www/us/en/developer/articles/system-requirements/vtune-profiler-system...
Another Workaround: Since your OS is deprecated for the VTune 2022.1 version, we don't have other option. You can try downgrading your Vtune version or you can try on a different OS .

Related

modprobe fails to insert beegfs after installing mellanox drivers

I have a storage cluster that has been churning along for a few years. It's based around a pretty stock Centos 7.6 setup, using beegfs.
In an effort to increase throughput I've decided to do a test-upgrade of the network, from 10gig to 40gig. However, it would appear that the necessary drivers for this 40gig card conflicts with beegfs in terms of kernel modules. Now that I have the 40gig network running successfully, beegfs-client fails to start:
modprobe: ERROR: could not insert 'beegfs': Unknown symbol in module, or unknown parameter (see dmesg)
How do I make these two get along?
The cards I've installed are all ConnectX-3 FDR Infiniband (both ports configured to Ethernet, though). The driver I installed is MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.6-x86_64. Uninstalling the driver did not resolve the issue, but the 40gig network is still working. It was only needed for recorfiguring the ports to Ethernet instead of Infiniband.
Update: From the looks of it, I will need to add infiniband support to the beegfs-client-autobuild.conf. Not entirely sure where to find the source that I need to reference.
Turns out the answer was simpler than anticipated: upgrade to the newest version of beegfs-client. The newer version includes infiniband compatibility by default. No rebuild needed.
After an upgrade and a reboot, the cluster behaved as intended again, with the Mellanox 40Gb/s cards operating.

VTune -- viewing results from Linux on OSX with source code

I'm running VTune on Linux and collecting results fine. I'm able to open the VTune gui over X and see the results correctly. However, it's slow -- so I'm trying to view the results using my VTune for OSX client. My understanding from the docs is that this is possible. However, while I'm able to see summary stats such as how long the program took to run, how many threads it had, etc., I'm not able to see symbols from the source, and the Bottom-Up tab is completely empty. I think this is due to the fact that VTune is looking for source code and debug info at a path that doesn't exist on my mac (but does on my linux machine). I'm simply copying over the entire output directory from VTune, which includes the amplxe file, and archive, config, data.0, log, and sqlite-db directories.
What is the recommended way to view VTune output data on the OSX client?
If VTune result was finalized on the target system, it can be viewed on any other system, e.g. on OSX - you need to copy entire result directory and open it in VTune. Symbol files are needed during the finalization process only. Source files - when you attempt to drill down to source view.
Empty Bottom-Up looks strange, you should probably submit a bug through VTune support. Before doing this please make sure you're using the most recent VTune version.
Please note also you can collect from the target Linux directly using VTune GUI on OSX via remote connection.

Creating PyOpenCl context causes later access violation

I just started to experiment with OpenCL using pyopencl. I got it from here
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl
I wrote some test programms and excecuting worked as expected. Than when I wanted to start a big batch of simulations I got random crashes with Access Violations (Windows Error Code FFFFFFFFC0000005) . It turns out that any script in which I import pyopencl and create a context crashes after one to two minute. I run 3 tests and got [63sec, 86sec, 81sec].
I have ensured that the context is always on my 'Intel(R) HD Graphics 620' card by setting the environment variable PYOPENCL_CTX = 1:0
import pyopencl as cl
ctx = cl.create_some_context()
import time
i = 0
while True:
print("Im alive since %i seconds" % i, flush = True)
i += 1
time.sleep(1.0)
I have a Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] from python.org
Edit:
After removing the environment variable and just letting the shell sit in the choose platform dialog - wihtout choosing a platform - crashes after about a minute with Access Violation.
Edit:
I updated the Driver Vesion to the latest available 22.20.16.4771 (from 13/08/2017) but the problem persists.
This may be due to outdated driver. In the case that the computer vendor does not provide up-to-date drivers a generic driver from Intel may work, eventhough there is no guarantee of compatibility.
Intel only provides driver as self installing .exe which don't allow driver installation when it notices that a custom version of there drivers is running.
However one can circumvent this check by letting the self uncompressing .exe uncrompess. Copy the data from the temp folder it creates and then manually install these drivers usind the widnows device manager. It goes without saying that this easily may break a setup.

deja vu: Why am I seeing "the application was unable to start correctly (0xc000007b)"

Platform: Windows 10 Pro 64-bit [Version 10.0.15063]; Xeon CPU E3-1220 v3, 3101 Mhz, 4 Core(s), no HT; 32 GB ECC memory; Visual Studio 2017 Community Edition.
I am working on NTPD, the Network Time Protocol Daemon, trying to make it more accurate.
My revised version of NTPD ran from 3/16/17 until yesterday, 8/20/17. I finally got my readTemps.exe C# program working yesterday; all it does is read the CPU and System temperatures every 10 seconds, and waits for NTPD to ask for them via UDP. NTPD starts readTemps.
However, there was a problem in that NTPD could not start readTemps as Administrator, which is needed, I believe, for readTemps to interface with WMI. So I put code in readTemps to detect if it is running as Administrator, and if not restart itself thusly.
In test mode, a driver program can start readTemps, access temperatures for a minute, and stop readTemps, but NTPD can no longer do anything!.
At first it stopped in the very beginning when it was trying to request privileges to set the system time (which is not my code and has worked forever).
Now it cannot even load, failing with the error "(t)he application was unable to start correctly (0xc000007b)."
Using my backup program I replaced the newly compiled versions of ntpd.exe and ntpd.lib with the versions that had run successfully from 3/16--8/20/17, but still I get the (0xc000007b) error.
I downloaded Dependency Walker (DW) and ran it on the ntpd.exe image that worked for 5 months. DW found the following errors:
Error: At least one required implicit or forwarded dependency was not
found.
Error: At least one module has an unresolved import due to a
missing export function in an implicitly dependent module.
Error:Modules with different CPU types were found.
Error: A circular dependency was detected.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a
missing export function in a delay-load dependent module.
In particular, DW finds that dozens of dll's are missing, e..g.,
API-MS-WIN-CORE-REGISTRY-L1-1-1.DLL
API-MS-WIN-CORE-REGISTRY-L2-2-0.DLL
API-MS-WIN-CORE-RTLSUPPORT-L1-2-0.DLL
API-MS-WIN-CORE-SIDEBYSIDE-L1-1-0.DLL
API-MS-WIN-CORE-STRING-L2-1-0.DLL
etc., etc., etc
.
I can't find these dll's either using the dir /S command, not on C:, the system disk, and not on K:, where Visual Studio 2017 Community Edition is installed.
Does anyone have any idea what could possibly be wrong?

Vtune report Outside any known module

I am using Intel(R) VTune(TM) Amplifier XE 2013 Update 5 (build 274450) for my linux application hotspot collect, but the report says the "[Outside any known module]" consume most of the time, so i want to get more info about the unknow module.
when i read the release notes of the vtune Amplifier, it says "List of hotspots may contain "Outside any known module" on systems with kernel older than 2.6.20 (200233501)", but my linux kernel is "2.6.32", any idea about this?
Check that your program is not generating code on the fly (i.e. is not JIT-ing). You may also want to switch grouping to "Module / Code Location / Call stack" and see which virtual addresses cannot be mapped by VTune to any known module.
I have been suffering from this issue in the past as well and it is very frustrating if you don't know why it is happening.
2 weeks ago I installed Ubuntu 13.04 and vtune update 14 and I was jumping from joy because I could see (again) what happened inside my code.
After doing some updates on my Ubuntu, vtune started to show your problem
I installed the kernel sources.. no help..
I reinstalled the driver, no help.
I reinstalled intel vtune.. no help.
And then I decided to run under root, and what do you know.. It works; no more 'Outside any known module'. I switched back to my regular user, it stopped working. I switched back to my root, and it works. So perhaps some kinds of access issue.
Maybe you could try this.
Probably you have some kernel hidden addresses by kptr_restrict, you ca review the value of "/proc/sys/kernel/kptr_restrict":
kptr_restrict = 0, kernel addresses are provided without limitations (recommended).
kptr_restict = 1, addresses are provided if the current user has a CAP_SYSLOG capability.
kptr_restrict = 2, the kernel addresses are hidden regardless of privileges the current user has.
You can use this option before running the trace:
sysctl -w kernel.kptr_restrict=0
More details here: https://software.intel.com/en-us/vtune-help-enabling-linux-kernel-analysis
Hope this helps!

Resources