user978281
user978281

Reputation: 477

Deployed C++ AMP application stops responding

Im trying to deploy a C++ AMP application to another Windows 7 machine. I have tried to include the vcamp110.dll in the same folder, and also compiled with /MT do get rid of dependency on msvcp110.dll and msvcr110.dll.

Also tried both x64 and win32 release of the application.

On the computers i have tried it on whitout VS11 installed, the program stops responding. I tried to do a simple test with the hello world application and i have the same problems there.

The files can be downloaded from here http://www.2shared.com/file/IofZlrJs/amptest.html (source, binary and the dll).

Any suggestions to how this can be fixed?

Upvotes: 1

Views: 341

Answers (1)

Daniel Moth
Daniel Moth

Reputation: 781

Deployments like the one you tried are definitely supported – full details here: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/03/12/deploying-apps-built-with-c-amp.aspx

There are a few things you can do to diagnose the issue you are facing yourself:

  1. The bitness of vcamp110.dll has to match the bitness of your app, so 32bit for one means 32bit for the other.
  2. Ensure that there are no other instances of vcamp110.dll in some central location (e.g. system32)
  3. Attach a debugger and see what DLLs are loaded and what exception gets thrown.
  4. Most important of all, for all your apps, surround your parallel_for_each call with try…catch to see what runtime_exception you are getting. More on C++ AMP exceptions can be found here: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/01/c-amp-runtime-exceptions.aspx

For the specific repro you shared, we tried that under the debugger on a clean Windows 7 machine and indeed a rutime_exception is being thrown: “The binary for the parallel_for_each is incompatible with this version of runtime.”, which indicates a mismatched runtime version (either mixing bitness or mixing Developer Preview with Beta or something like that).

Upvotes: 3

Related Questions