cuda - CUDA 统一内存和设备代码中 std::vector 的使用
问题描述
过去,在 CUDA 设备代码中不允许使用 std::vector。当前带有统一内存的 cuda 10.2 工具包仍然如此吗?
我在一个类中有一些 std::vector 类型的公共数据成员,它们被传递引用以供设备内核使用。
nvcc 抱怨从不允许的全局函数("...) 调用主机函数("std::vector...) ...。
如果可能的话,在 std::vector 上使用统一内存的正确方法是什么?如果不可能,是否有有效的解决方法?
解决方案
过去,
std::vector
在 CUDA 设备代码中是不允许的。当前带有统一内存的 cuda 10.2 工具包仍然如此吗?
是的。
如果可能的话,使用统一内存的正确方法是
std::vector
什么?
没有一个。这是不可能的。设备上没有 C++ 标准库支持。
如果不可能,是否有有效的解决方法?
不,那里没有。
推荐阅读
- reactjs - 有效地搜索/exist() Firestore 而不会耗尽免费配额
- docker - 在解决方案之间共享核心 docker 容器
- function - 是否有任何语言在函数之前有参数?
- android - 导航组件没有替换当前的片段活动
- javascript - 滚动后如何更改导航栏的颜色
- ios - Stripe IOS SDK 在 3DS2 更新后不工作
- java - 在java中不使用库函数反转字符串
- angular - 如何在 Angular/Typescript 中的 anohter 之后执行一行代码?
- php - Plivo SMS 调试 - 获取特定消息的所有日志
- c# - 我需要一些关于 Web 浏览器窗口表单的帮助