• Advertisement
Sign in to follow this  

Interoperability OpenCl DX11 portable with Nvidia, AMD,

This topic is 1524 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi,

 

I want to use the interoperability between OpenCL and DirectX11. I have a Radeon graphics card, and I want to run my .exe on an Nvidia card.

 

Is is it possible ?

 

So far I use this pointer function type

 
clGetDeviceIDsFromD3D11KHR_fn

avaible in the AMD SDK but I guess I need to use this type

clGetDeviceIDsFromD3D11NV_fn

available in the Nvidia SDK.

 

I guess I am going to do something wrong if I install the Nvidia SDK https://developer.nvidia.com/cuda-toolkit-31-downloads with a Radeon card.

 

Any solution for me ?

 

thanks,

Edited by smallGame

Share this post


Link to post
Share on other sites
Advertisement

I would have an internal definition for each function and query for both. If the return value is valid ( I'm assuming non-null ) then that extension is available, openCL extension mechanism is similar to that of openGL so some of the same concepts apply.

Share this post


Link to post
Share on other sites

Thanks for your answer, yes but I am block before that, I cannot compile my program because I don't know

clGetDeviceIDsFromD3D11NV_fn

which is in the Nvdia SDK.

 

So yes that the idea, I can even use the GetPlatformInfo or GetDeviceInfo to know which extension I can use.

 

Even if I buy a new PC with Nvidia hardware my program won't compile anymore because I won't have AMD SDK installed on it.

 

So I come back with my initial question: 

What's happen if I install both graphics card SDK on a same PC ?? Can I really do that ?

 

I guess it's my only solution...

Edited by smallGame

Share this post


Link to post
Share on other sites

Well, just try ;)

 

An SDK installation should not depend on what hardware you have. I have an NVidia and could install the AMD APP SDK without any problems. I haven't mentioned it explicitly in this post, but I could transliterate the sample to D3D11 by using the NV instead of KHR extension (the latter are still not exposed even with the newest driver). Quickly comparing cl_d3d11.h from AMD and cl_d3d11ext.h from NVidia shows the only difference is this KHR<->NV naming, the function signatures look the same. So you're probably good to just change the extension names. 

 

By the way: clGetDeviceIDsFromD3D10NV is definitively not what you want, since that would be D3D10 interop.

Share this post


Link to post
Share on other sites

Well, just try ;)

 

ok , I tried it does compile!! Thanks

 

When I run it on Nvidia hardware it crashes, so now I need someone to look at it which has an Nvidia hardware ...

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement