据我所知,我可以在CUDA设备代码中使用C ++模板。所以,如果我使用map创建一个字典,那么插入新值的操作是原子的吗?
我想计算某些值的出现次数,即创建一个具有代码概率的代码字典。
由于
的Mac
答案 0 :(得分:2)
您不能在设备代码中使用STL。您可以检查thrust的类似功能(特别检查实验名称空间)。
模板在设备代码中很好,CUDA C目前支持相当多的C ++功能,尽管还有一些很大的功能,例如虚拟功能和异常(并且只能在Fermi硬件上实现)。
如果您决定自己实现,可以使用atomicAdd()内在函数来获取原子操作,查看CUDA Programming Guide以获取更多信息。
答案 1 :(得分:1)
如果我正确理解你的问题,你试图在cuda中使用STL地图? 最有可能它不会起作用。您将不得不设计自己的实现。 但是,您可以在推力库中找到实现。