首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DLLMain中调用CUDA函数

在DLLMain中调用CUDA函数
EN

Stack Overflow用户
提问于 2012-09-10 02:12:59
回答 1查看 358关注 0票数 2

我在windows下开发了一个CUDA,它有很多C++加速功能。目前我还没有创建DllMain函数,因为它不是强制的。

我知道在DllMain中可以调用的函数有很多限制。

我只想知道,在DllMain中调用CUDA运行时函数只是为了初始化默认上下文,以便后续的CUDA调用更快,这样安全吗?

我使用Visual Studio 2008、CUDA 5.0和Windows 8进行开发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-10 11:14:55

Reading the DLLMain documentation,我建议你不要这么做。从文档中:

警告在DLL入口点中可以做的事情有严重的限制。若要提供更复杂的初始化,请为DLL创建一个初始化例程。您可以要求应用程序在调用DLL中的任何其他例程之前调用初始化例程。

更确切地说:

调用需要Kernel32.dll以外的DLL的函数可能会导致难以诊断的问题。

因为CUDA Runtime API需要cudart.dll,所以这适用于您的问题。

因此,我将为您的库创建一个执行CUDA初始化的初始化函数,并要求在应用程序启动时显式调用它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12341611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档