cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

CraigL
Journeyman III

OpenCL from a DLL

I had thought I read somewhere that one can't use OpenCL from a DLL.  One place I'm definitely going to need it is in a DLL used in a video NLE, so I clearly have no way around this problem, if it does exist.

I can't find anything in the Docs about it, nor the original reference.  It may well have been late at night I read it and misunderstood it.

What say ye all?

     CraigL

0 Likes
5 Replies
CraigL
Journeyman III

And, as soon as that's out of my mouth, I read something about the Profiler not being able to profile DLLs, which is what I think got me thinking about that.

     CraigL

0 Likes

craigL,

calInit and clGetPlatformIDs are not dllMain safe so this is not possible.
0 Likes

Although I never came across this need, to load app into DLL, but could someone explain what "not dllMain safe" means? What programming constellation could cause app to not be able to run from DLL? The question is not OpenCL related, although in this case it certanly has to do something with the implemenatation.

0 Likes

OpenCL and CAL load additional dll when it loaded. and according to this http://msdn.microsoft.com/en-us/library/ms682583%28v=vs.85%29.aspx you can safetly call only functions from kernel32.dll as only this is loaded at the time of calling dllMain.

0 Likes

I've written both CAL and OpenCL applications that are DLLs. For example I have a CAL and an OpenCL version of a BLAS library. These DLLs work when accessed by a C# application.

The Deathray OpenCL application I recently published is a DLL.

I'm quite bemused by the idea that these applications shouldn't work! Maybe it's because none of my DLLs contains a dllMain...

0 Likes