Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Bad CUDA Card?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Mike Downs
n00b
n00b


Joined: 07 Nov 2011
Posts: 10
Location: San Jose

PostPosted: Fri Dec 30, 2011 8:39 pm    Post subject: Bad CUDA Card? Reply with quote

I'm hoping someone can help me.

I have Gentoo 3.0.0 running dual boot on my home PC with Windows 7 and I have a GT 545 card in it. My employer has a 1 RU 19" rack mount (headless machine) running Gentoo 2.6.37 and he put a GT 315 in it. Both machines are running CUDA 4.0 and a 290.xx driver.

I can query the card and read attributes like model # etc, but if I run even an extremely simple program (the simple vector addition problem in the SDK), the kernel call just returns with no error. The problem is that the kernel did nothing. It is as if the cuda kernel was a no-op. The result vector has garbage in it. This exact same code runs under Windows 7 Visual Studio and my own Gentoo 3.0.0 system here at home. I can cudaMemcpy an array of values to the card and then back again and the values are still good, so memory access from the PCIe is okay, but this doesn't involve the nVidia/CUDA chip.

Is there anyway to programmatically tell if this card is really bad, other than swapping it? (I'm in San Jose, Ca. and the box is in L.A.)

Any Suggestions?

Happy New Year,
Mike
_________________
Mike
Back to top
View user's profile Send private message
EatMeerkats
Apprentice
Apprentice


Joined: 15 Mar 2006
Posts: 234

PostPosted: Fri Dec 30, 2011 11:18 pm    Post subject: Reply with quote

Can you post the result of running the deviceQuery example that comes with the SDK on the card that doesn't work correctly? Knowing the CUDA capability and max. # of threads per block would be helpful.
Back to top
View user's profile Send private message
Mike Downs
n00b
n00b


Joined: 07 Nov 2011
Posts: 10
Location: San Jose

PostPosted: Sat Dec 31, 2011 7:26 pm    Post subject: Reply with quote

CUDA Device Query (Runtime API) version (CUDART static linking)

Found 1 CUDA Capable device(s)

Device 0: "GeForce GT 220"
CUDA Driver Version / Runtime Version 4.10 / 4.0
CUDA Capability Major/Minor version number: 1.2
Total amount of global memory: 1024 MBytes (1073545216 bytes)
( 6) Multiprocessors x ( 8) CUDA Cores/MP: 48 CUDA Cores
GPU Clock Speed: 1.36 GHz
Memory Clock rate: 400.00 Mhz
Memory Bus Width: 128-bit
Max Texture Dimension Size (x,y,z) 1D=(8192), 2D=(65536,32768), 3D=(2048,2048,2048)
Max Layered Texture Size (dim) x layers 1D=(8192) x 512, 2D=(8192,8192) x 512
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 16384 bytes
Total number of registers available per block: 16384
Warp size: 32
Maximum number of threads per block: 512
Maximum sizes of each dimension of a block: 512 x 512 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 1
Maximum memory pitch: 2147483647 bytes
Texture alignment: 256 bytes
Concurrent copy and execution: Yes with 1 copy engine(s)
Run time limit on kernels: No
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Concurrent kernel execution: No
Alignment requirement for Surfaces: Yes
Device has ECC support enabled: No
Device is using TCC driver mode: No
Device supports Unified Addressing (UVA): No
Device PCI Bus ID / PCI location ID: 3 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
_________________
Mike
Back to top
View user's profile Send private message
EatMeerkats
Apprentice
Apprentice


Joined: 15 Mar 2006
Posts: 234

PostPosted: Sat Dec 31, 2011 10:36 pm    Post subject: Reply with quote

That looks like a significantly older card than what you're successfully running on… any chance you're trying to use doubles (not supported until compute capability 1.3) or launching more than 512 threads/block? Although, I guess if even the simple SDK example is failing, maybe that's not the case.

Also, kernel launches are asynchronous, so you may have to call cudaThreadSynchronize() before cudaGetLastError(). I've also seen a CUDA card get into a bad state and return incorrect results until I rebooted the machine. Other than that, I can't think of any other suggestions at the moment.
Back to top
View user's profile Send private message
Mike Downs
n00b
n00b


Joined: 07 Nov 2011
Posts: 10
Location: San Jose

PostPosted: Sun Jan 01, 2012 4:29 am    Post subject: Reply with quote

This is a simple test, no doubles or even floats, and only 5 threads. I'm using cudaDeviceSynchronize() after the kernel call and it returns cudaSuccess.
_________________
Mike
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7447

PostPosted: Sun Jan 01, 2012 9:44 am    Post subject: Reply with quote

http://developer.nvidia.com/cuda-gpus

As you see, some have a * next to them and
Quote:
*OEM-only products



This is a bit uncommon as this should imply OEM products come with cuda while "classic" boxed ones don't, uncommon as generally OEM product might lack a feature vs boxed ones, but it seems, not for nvidia

Anyway, it would say some chipset should work with cuda or not depending if they are box or oem... At bare minimum, for safety you could just assume any * products as "random support" and avoid the ones in the list with the * to make sure you get a product that support cuda
Back to top
View user's profile Send private message
Mike Downs
n00b
n00b


Joined: 07 Nov 2011
Posts: 10
Location: San Jose

PostPosted: Sun Jan 01, 2012 8:37 pm    Post subject: Reply with quote

Yes but even the OEM versions are listed in the Cuda capable devices. I've never seen anywhere that an nVidia card made in the last 3-4 years (at least) did not support CUDA.
_________________
Mike
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7447

PostPosted: Mon Jan 02, 2012 12:36 pm    Post subject: Reply with quote

Well, if you read the list, you'll see many non-oem version seems to not support it.
As i said, it's a bit surprising an oem card would support something a box card won't, but the info is from nvidia, a bit trustable so.
Back to top
View user's profile Send private message
Mike Downs
n00b
n00b


Joined: 07 Nov 2011
Posts: 10
Location: San Jose

PostPosted: Mon Jan 02, 2012 3:46 pm    Post subject: Reply with quote

krinn wrote:
Well, if you read the list, you'll see many non-oem version seems to not support it.
As i said, it's a bit surprising an oem card would support something a box card won't, but the info is from nvidia, a bit trustable so.


Can you give me an example of a 200, 300, 400 or 500 series card that is NOT CUDA capable?

The only list that I have ever looked at is this one http://developer.nvidia.com/cuda-gpus and ALL these GPU support CUDA. Where can I find a list of modern nVidia graphics cards that do not support CUDA?

Thanks,
Mike
_________________
Mike
Back to top
View user's profile Send private message
Mike Downs
n00b
n00b


Joined: 07 Nov 2011
Posts: 10
Location: San Jose

PostPosted: Wed Jan 04, 2012 12:36 am    Post subject: Reply with quote

The problem was that the cards I had at home were a GTS 420 and a GT 545 which are compute capability 2.0 and 2.1. The card that they installed on the machine in L.A. was a GT 315 (which is actually a GT220) and compute capability 1.2. I had my compile flags set for arch=sm_20. So when I ran my application, the driver couldn't find code that was <= to the compute capability of the card. Embarassing!

Thanks for everybody's help.
_________________
Mike
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum