windows driver setup

windows driver setup

Tim Prince's picture

When I try to run the current VTune general analysis on my new Windows 8.1 installation, it tells me the driver isn't running.  As there is no sep folder in the installation, I don't know where to go to look for a startup script.  When I search for docs, I get redirected to linux docs, with which I'm already reasonably familiar.  I don't find this topic in the help doc.20

It's possible to run outside the CPU dependent selections, but why put them there with no advice on how to run them?

Is it believable when attempting to find the location where a case hangs when compiled for the Haswell CPU (instead of generic AVX) that VTune Basic shows the time is spent in ntdll, or does the fact that it's necessary to click Stop or set a time limit cause that?  When it's stopped by time limit the amplxe-gui self-destructs shortly after "unhandled win32 exception" (but it's all win64).  It pops up a locked email and says to send a report.

I'm retiring in about a month and will lose the support account so don't expect to be able to negotiate a problem report maze.

15 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Peter Wang (Intel)'s picture

I have no experience to run VTune(TM) Amplifier XE under Windows 8.1. For setting up vtune driver on Windows, you can:

1. Open a cmd.exe as administrator

2. cd "VTune Amplifier XE 2013\bin32"

3. Run "amplxe-sepreg -u" to remove all vtune drivers, "amplxe-sepreg -i" to install all vtune drivers.

Hope it helps.

Regards, Peter

iliyapolak's picture

>>>Is it believable when attempting to find the location where a case hangs when compiled for the Haswell CPU >>>

Are you talking about the switch statement which hangs or do you mean case of profiling which while executed hangs?

iliyapolak's picture

@Tim

Can you post screenshot of that stalled case?

Tim Prince's picture

Quote:

Peter Wang (Intel) wrote:

I have no experience to run VTune(TM) Amplifier XE under Windows 8.1. For setting up vtune driver on Windows, you can:

1. Open a cmd.exe as administrator

2. cd "VTune Amplifier XE 2013\bin32"

3. Run "amplxe-sepreg -u" to remove all vtune drivers, "amplxe-sepreg -i" to install all vtune drivers.

Hope it helps.

Regards, Peter

I followed the advice, except for using the bin64 directory, and had success.

By the way, I installed StartButton8 in order to be able to access the Intel software tools in Windows 8.1.  I haven't found the Metro interface which is supposed to be supported by Intel.

Thanks.

Tim Prince's picture

Quote:

iliyapolak wrote:

@Tim

Can you post screenshot of that stalled case?

I'm trying to find out how to do a screen capture in Windows 8.1.  There's no Paint application, and the nearest substitutes are a very lengthy add-on installation with no guarantee they work the same with Alt PrtSc.  Why does it require credit card information for what is listed as a free add-on?

Getting the driver working did show me where my source code appears to hang. so it seems to confirm I have the correct debug options set for Windows gfortran. It's a mystery since I didn't change that .o file from the plain AVX compilation which works when no -march=native .o is linked in.  I have an SSE intrinsic call at the hang point so it's possible maybe it's a vzeroupper thing.  But I shouldn't need the intrinsic for the corei7-4 version.

Tim Prince's picture

I got a screen shot, but I won't describe the steps until I get a full working sequence.

Alt PrtScr, open paint (fresh paint installed), paste, save, open word (home office 2013), insert, ctrl-c, open insert from word window, ctrl-v

iliyapolak's picture

Why vzeroupper could lead to hang, it is quite strange.I would rather expect to see transition penalty at hang point.Sorry but I cannot see your screenshots.Try to send them as a private message.Which intrinsic function is executed at hang point?

Regarding hang itself maybe your code is performing synchronous waiting on something or the wait is caused by some code further in call chain.

Tim Prince's picture

The hang is produced by a specific OpenMP loop and occurs only with AVX2 vectorization in gfortran 4.8.2.  As I worked on a simpler case, I found one where the error goes away when I remove the if() clause from the OpenMP directive, with the hang being replaced by a silent termination.

There appears to be a bad memory access in the failing cases.  In the hung case, it appears according to VTune to be looping in ntdll.dll, but the original fault appeared to be the bad access in the user code.

Along the way, I found out that the corei7-4 laptop CPU doesn't benefit from as much unrolling as previous CPU models (seldom more than unroll by 2).  That doesn't make any difference to the failure.

I didn't find any way to attach the screenshot to this forum, using Windows 8.1.  I got to where the screenshot was in my preview, but the web site didn't take it.  Apparently, there are easier ways to take the screenshot than what is documented on MSDN, but that doesn't help with this Intel web site.

I won't go into the pros and cons of ifort vs. gfortran on Windows 8.1 unless someone thinks it's topical on another forum.   Enough to point out that VTune has a useful degree of support for gfortran, but I don't find the howto gathered in one accessible place.

iliyapolak's picture

I would not rely much on VTune in order to troubleshoot access violation scenario or even code hang.Windbg is better suited to do this.Ntdll could be listed probably because your code calls some stub Win API functions.Anyway failed process full minidump is needed to understand and find the faulting IP.

I did not test so much the benefits of unrolling,but I suppose that you may seeing  parallel utilization of two execution Ports by two floating point instructions which operates on two vectors.

block_size = 256

ecx = block_size

vaddps ymm0,ymmword ptr [esi + ecx]

vaddps ymm1,ymmword ptr [esi + ecx + 32]

vaddps ymm2,ymmword ptr [esi + ecx + 64]

vaddps ymm3,ymmword ptr [esi +ecx + 96]

vaddps ymm4,ymmword ptr [ esi + ecx + 128]

........ // unrolling continues

At any moment only two Ports will  be utilized.

 

Tim Prince's picture

It's possible to capture the bad memory access in gdb.  Beyond that, cutting the case down alters behavior, so I have a lack of confidence in it (and in Windows 8.1, considering the other things which expose glitches which didn't happen in Windows 7 or linux, like scp not returning to prompt, and inability to control background services).

iliyapolak's picture

Does access violation also occur while you are running your code in Linux?

iliyapolak's picture

>>>(and in Windows 8.1, considering the other things which expose glitches which didn't happen in Windows 7 or linux, like scp not returning to prompt, and inability to control background services)>>>

Background services could be controlled by console command.

http://www.eightforums.com/tutorials/12411-services-start-stop-disable-windows-8-a.html

Tim Prince's picture

Quote:

iliyapolak wrote:

Does access violation also occur while you are running your code in Linux?

I'd have to install my current copy of gfortran on a server in another state, to which I don't expect to have access for long. 

I'll be lucky if I can keep my Ivy Bridge linux box, which has no problem, as it can't run avx2.

I'm not getting positive impressions from what I read about attempting to run linux dual boot with win8.1 on Ultrabook.

iliyapolak's picture

I am only running Linux distro Kali in my virtualized environment(security lab) which is used mainly as a  attacker machine in LAN segment.I did not do any software development on Linux.Regarding dual boot once I used Win 7 with Linux Backtrack on Core i3 laptop and did not have any negative impression.

Login to leave a comment.