【问题标题】:Does cudpp only work for devices of a certain compute capabilitycudpp 是否仅适用于具有一定计算能力的设备
【发布时间】:2012-02-04 18:04:43
【问题描述】:

我想使用 cudpp。我很好奇它是否仅适用于具有某种计算能力的设备? 如果是,下限是多少。

我在他们的哈希表实现代码中发现了这个错误信息: "testHashTable 中 cudppHashTable 调用出错(确保您的设备至少是计算版本 2.0\n"

我不知道他们指的是哪个计算版本??

【问题讨论】:

  • 计算版本 2.0 = 计算能力 2.0。基于this question,您拥有一个计算能力为 2.1 的设备,因此您运行您所询问的代码没有硬件相关的障碍。
  • @talonmies:实际上,我正在寻找一个不依赖于 cc 的实现
  • 给定计算能力 1.0 缺少 any 原子操作,而计算能力 1.1 缺少共享内存原子操作,我非常怀疑您是否可以实现一个有效的哈希/直方图代码来运行在第一代设备上。

标签: cuda cudpp


【解决方案1】:

据我所知,计算能力没有任何限制。根据the change logs,对具有费米架构 (sm_20) 的卡进行了一些优化。

CUDPP 2.0 does however state 它仅适用于 CUDA 3.0 或更高版本(他们建议使用高于 3.2 的版本),但这与计算能力没有直接关系。

更新:

正如 OP 所发现的,确实存在明确需要 2.0 架构的功能,例如 cudppHashTable。根据doc in the source(第 206 行):

哈希表实现需要硬件能力 2.0 或 更高(64 位原子操作)。

从措辞上,我假设在某些特殊情况下需要某种计算能力,但这不是一般要求。

【讨论】:

  • 我正在检查他们的哈希表实现的代码,他们可以选择抛出此错误消息:“cudppHashTable 调用 intestHashTable 中的错误(确保您的设备至少是计算版本 2.0\n跨度>
  • 嗯,我没有意识到这一点,但是看看他们的来源,hastable 的文档确实指出“哈希表实现需要硬件能力 2.0 或更高版本(64 位原子操作)” .
  • 那么你将如何在 GPU 上实现哈希表
  • 这将是一个完全不同的问题,我们不应该在这个问题中讨论。
猜你喜欢
  • 1970-01-01
  • 2016-05-06
  • 2014-02-21
  • 1970-01-01
  • 2012-07-18
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
相关资源
最近更新 更多