cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

vautieri
Journeyman III

ATI Stream Bug

cl::Platform::get(&allPlatforms); crashes with 2 cards, ATI/AMD and NVIDIA

 

I have no idea how for back this bug goes with AMD/ATI, but if I run in the debugger I do not crash on cl:latform::get.  I have narrowed it down to this call in cl.hpp

cl_int err = ::clGetPlatformIDs(0, NULL, &n);

I have an HD3400 ATI/AMD card and an NVIDIA 8800.  My monitor is currently connected to the NVIDIA card, having no monitor connected to the ATI/AMD card.  Please keep in mind if I run in the VS2005 debugger, the ATI/AMD dll/ does not crash with the exception below, and I only see NVIDIA listed.  My guess is AMD/ATI is expecting a monitor to be connected.

My code:

std::vector<cl:latform> allPlatforms;

std::vector<cl:latform>::iterator iter;

cl:latform targetPlatform;

cl:latform::get(&allPlatforms);

 

 

 Using DEPENDS/profile mode to see where it might be crashing:

etProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckOcclusion") called from "ATICFX32.DLL" at address 0x6656703A and returned 0x7661610D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTWaitForIdle") called from "ATICFX32.DLL" at address 0x66567047 and returned 0x766165ED.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckMonitorPowerState") called from "ATICFX32.DLL" at address 0x66567054 and returned 0x765EE7CE.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckExclusiveOwnership") called from "ATICFX32.DLL" at address 0x66567061 and returned 0x765EE7B0.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckVidPnExclusiveOwnership") called from "ATICFX32.DLL" at address 0x6656706E and returned 0x7661614D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTSetDisplayPrivateDriverFormat") called from "ATICFX32.DLL" at address 0x6656707B and returned 0x7661650D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTSharedPrimaryLockNotification") called from "ATICFX32.DLL" at address 0x66567088 and returned 0x7661658D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTSharedPrimaryUnLockNotification") called from "ATICFX32.DLL" at address 0x66567095 and returned 0x766165AD.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCreateKeyedMutex") called from "ATICFX32.DLL" at address 0x665670A2 and returned 0x7661618D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTOpenKeyedMutex") called from "ATICFX32.DLL" at address 0x665670AF and returned 0x7661638D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTDestroyKeyedMutex") called from "ATICFX32.DLL" at address 0x665670BC and returned 0x766161ED.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTAcquireKeyedMutex") called from "ATICFX32.DLL" at address 0x665670C9 and returned 0x766160ED.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTReleaseKeyedMutex") called from "ATICFX32.DLL" at address 0x665670D6 and returned 0x7661646D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTConfigureSharedResource") called from "ATICFX32.DLL" at address 0x665670E3 and returned 0x765EE9C8.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTGetOverlayState") called from "ATICFX32.DLL" at address 0x665670F0 and returned 0x7661628D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckSharedResourceAccess") called from "ATICFX32.DLL" at address 0x665670FD and returned 0x7661612D.



 

Second chance exception 0xC0000005 (Access Violation) occurred in "ATICFX32.DLL" at address 0x66579C8A.

 

 

 



0 Likes
1 Reply
himanshu_gautam
Grandmaster

vautieri,

AMD GPUS require a monitor connected to it.

As such your GPU is quite old and would definitely not support opencl 1.1(not sure about opencl 1.0).

Using newer SDKs 2.3 require VS 2008 or above.

0 Likes