mel*_*sgl -5 cuda pycuda jcuda cublas
使用驱动程序api可以排除在同一个应用程序中使用运行时api([1]).不幸的是,cublas,cufft等都基于运行时api.如果想要同时在cuModuleLoad和cublas中进行动态内核定义,有哪些选项?我记得这些,但也许还有更多:
A.等待计算能力3.5,传闻支持在同一个应用程序中驱动程序和运行时api的和平共存.
B.将内核编译为.so文件并将其删除.他们在dlcose上卸载了吗?
C.尝试从驱动程序api使用cuModuleLoad,但运行时api中的所有其他内容.不知道这是否有任何希望.
我没有屏住呼吸,因为jcuda或pycuda几乎是相同的绑定,他们可能已经想到了它.
总而言之,你在这里倾向于风车.通过依赖极其过时的信息,您似乎得出结论,CUDA不支持运行时和驱动程序API互操作性,事实上,自2009年CUDA 3.0测试版发布以来,它就已经发布了.从发行说明中引用该版本:
CUDA Toolkit 3.0 Beta现已推出.
此版本的亮点包括:
- CUDA驱动程序/运行时缓冲区互操作性,允许使用CUDA驱动程序API的应用程序也使用使用CUDA C运行时实现的库.
有文档在这里它简洁地描述了如何驱动程序和运行时API进行交互.
具体回答你的主要问题:
如果想要同时在cuModuleLoad和cublas中进行动态内核定义,有哪些选项?
基本方法是这样的:
cudaSetDevice().运行时API将自动绑定到现有的驱动程序API上下文.请注意,设备枚举在两个API之间是相同且通用的,因此如果您在驱动程序API中的给定设备编号上建立上下文,则相同的编号将在驱动程序API中选择相同的GPU| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |