Thread 'NVIDIA GPUs aren't displaying more than 4 GB memory on computers in use for PRIMEGRID and SETI.'

Message boards : GPUs : NVIDIA GPUs aren't displaying more than 4 GB memory on computers in use for PRIMEGRID and SETI.
Message board moderation

To post messages, you must log in.

AuthorMessage
Gary Bauer

Send message
Joined: 27 Jan 17
Posts: 2
United States
Message 75508 - Posted: 27 Jan 2017, 11:59:01 UTC

I'm using version 7.6.22. On PRIMEGRID and SETI, for computers in use, my new NVIDIA 1080 8GB is showing only 4095MB.
Several other people on PRIMEGRID also report a problem with NVIDIA GPUs. AMD is correctly reporting >4GB.
ID: 75508 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15556
Netherlands
Message 75509 - Posted: 27 Jan 2017, 14:46:28 UTC - in response to Message 75508.  
Last modified: 27 Jan 2017, 14:47:23 UTC

Operating system? -> 32bit, 64bit?
Nvidia driver version? -> 32bit, 64bit?
BOINC 32bit or 64bit?

32bit applications report at maximum 4GB. 32bit can at maximum address 4GB in memory addresses.
Seti's science applications are 32bit, I suppose Primegrid's are as well, so the stderr.txt on each task - if it shows memory use - won't show more than 4GB.

If you installed the 32bit Nvidia drivers, they will report at maximum 4GB.
If you use BOINC 7.6.22 32bit, it will probably report at max 4GB.
If your OS is 32bit, it will run everything in 32bit and report at max 4GB.

See the recurring item? :)
ID: 75509 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15556
Netherlands
Message 75510 - Posted: 27 Jan 2017, 16:00:20 UTC

Just as an aside:
12/9/2016 9:24:32 PM | | CUDA: NVIDIA GPU 0: GeForce GTX 1080 (driver version 376.19, CUDA version 8.0, compute capability 6.1, 4096MB, 3557MB available, 8876 GFLOPS peak)
12/9/2016 9:24:32 PM | | OpenCL: NVIDIA GPU 0: GeForce GTX 1080 (driver version 376.19, device version OpenCL 1.2 CUDA, 8192MB, 3557MB available, 8876 GFLOPS peak)
(source)
This shows that the CUDA driver isn't mature enough to recognize all 8GB of memory on this GPU, while the OpenCL driver does.
If you see this, it isn't BOINC that's at fault, but purely the drivers.
ID: 75510 · Report as offensive
Gary Bauer

Send message
Joined: 27 Jan 17
Posts: 2
United States
Message 75511 - Posted: 27 Jan 2017, 17:27:17 UTC - in response to Message 75508.  

I'm using WIN 10 64-bit. My NVIDIA driver is 378.49. My BOINC ver. on this machine is 7.4.36.
ID: 75511 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15556
Netherlands
Message 75515 - Posted: 27 Jan 2017, 20:57:02 UTC

I have been checking this further and found that consistently over the past half year, since those new GPUs came out, OpenCL would report the correct memory use, while CUDA didn't.

So I checked in the source code and found that indeed, the memory detection for CUDA is an <code>int</code>, not a <code>long long int</code>.
I've reported this to David, hopefully he'll set things straight and this will come in a future version of BOINC.
ID: 75515 · Report as offensive
HAL9000
Help desk expert
Avatar

Send message
Joined: 13 Jun 14
Posts: 81
United States
Message 75592 - Posted: 31 Jan 2017, 23:15:21 UTC - in response to Message 75515.  

I have been checking this further and found that consistently over the past half year, since those new GPUs came out, OpenCL would report the correct memory use, while CUDA didn't.

So I checked in the source code and found that indeed, the memory detection for CUDA is an <code>int</code>, not a <code>long long int</code>.
I've reported this to David, hopefully he'll set things straight and this will come in a future version of BOINC.

Or maybe switch to OpenCL detection for Nvidia as well?
ID: 75592 · Report as offensive

Message boards : GPUs : NVIDIA GPUs aren't displaying more than 4 GB memory on computers in use for PRIMEGRID and SETI.

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.