1

I want to use cudpp. I am curious if it only works for devices of a certain compute capability ? If yes, what is the lower bound.

I found this error message in their hash table implementation code: "Error in cudppHashTable call in testHashTable (make sure your device is at least compute version 2.0\n"

I dont know which compute version they are referring to??

Programmer
  • 6,565
  • 25
  • 78
  • 125
  • compute version 2.0 = compute capability 2.0. Based on [this question](http://stackoverflow.com/q/8473634/681865), you have a compute capability 2.1 device, so there is no hardware related impediment to you running the code you are asking about. – talonmies Feb 05 '12 at 11:22
  • @talonmies: Actually, I am looking for an implementation that is not cc dependent – Programmer Feb 05 '12 at 11:33
  • given compute capability 1.0 lacks *any* atomic operations, and compute capability 1.1 lacks shared memory atomic operations, I would very much doubt you could implement an efficient hash/histogram code which runs on those first generation devices. – talonmies Feb 05 '12 at 14:16

1 Answers1

3

For as far as I'm aware, there are no restrictions with regards to compute capability. There are some optimizations for cards with a Fermi architecture (sm_20) according to the change logs.

CUDPP 2.0 does however state it only works for CUDA 3.0 or higher (and they advice to use versions higher than 3.2), but this has no direct relation to compute capability.

Update:

As found by the OP, there is indeed functionality which explicitly requires a 2.0 architecture, such as cudppHashTable. As per the doc in the source (line 206):

The hash table implementation requires hardware capability 2.0 or higher (64-bit atomic operations).

From the wording I would assume there are special cases in which a certain compute capability is required, but it is not a general requirement.

Bart
  • 19,692
  • 7
  • 68
  • 77
  • i was checking the code for their hash table implementation and they had the option to throw this error message : "Error in cudppHashTable call intestHashTable (make sure your device is at least compute version 2.0\n – Programmer Feb 04 '12 at 18:15
  • Hmm, I was unaware of that, but having a look at their sources, the docs for the hastable indeed state "The hash table implementation requires hardware capability 2.0 or higher (64-bit atomic operations)". – Bart Feb 04 '12 at 18:17
  • so how would u implement a hash table on GPU – Programmer Feb 04 '12 at 18:18
  • 2
    That would be a different question altogether and not one we should discuss as part of this question. – Bart Feb 04 '12 at 18:22