CUDA out of memory error

Questions and Answers : GPU applications : CUDA out of memory error
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Borgholio
Avatar

Send message
Joined: 2 Aug 99
Posts: 654
Credit: 18,623,738
RAC: 45
United States
Message 845247 - Posted: 26 Dec 2008, 9:23:36 UTC

Got a bunch of workunits that timed out after only a few seconds due to a lack of memory error. The full error text will be pasted below. This occurred while I was playing a 3D-graphics intensive game (EVE Online). I'm presuming that's the cause of the error. The CUDA client would be better off simply pausing and resuming when the memory becomes available instead of simply erroring out just because I'm playing a game. :)

Workunit:

http://setiathome.berkeley.edu/result.php?resultid=1102921123

Error:

Cuda error 'cudaMalloc((void**) &dev_cx_DataArray' in file 'c:/sw/gpgpu/seti/seti_boinc/client/cuda/cudaAcceleration.cu' in line 234 : out of memory.
You will be assimilated...bunghole!

ID: 845247 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 845250 - Posted: 26 Dec 2008, 10:09:40 UTC - in response to Message 845247.  
Last modified: 26 Dec 2008, 10:10:08 UTC

I wrote the following here:

Options you have:

1. Exit BOINC before playing games. This ensures that the whole video card and its memory is available for the gaming environment.
2. Suspend BOINC before playing games. If you do not leave applications in memory, this may leave the videocard and its memory available for your gaming environment.
3. Use the <exclusive_app> option in cc_config.xml

To do so, open a cc_config.xml file in your BOINC Data directory. See here how to make one and what other options you have.
Add into it:

<cc_config>
<options>
<exclusive_app>Fallout3.exe</exclusive_app>
<exclusive_app>Speed.exe</exclusive_app>
</options>
</cc_config>

The Fallout3 and (Need for) Speed executable examples are mine. You'd have to check what the executables of your own applications/games are. Make sure to use the game executables, not the launcher executables (some games, like Fallout3 use a launcher... not the one you want). No need to add the whole path to the executable either. If you have more than one Need for Speed game installed, you can do with one Speed.exe

To get BOINC to know this file is here, go BOINC Manager->Advanced view->Advanced->Read config file. BOINC will suspend computations as soon as one of the exclusive applications stored in cc_config.xml enters the memory. Best is then not to set BOINC to leave applications in memory when suspended.

The reasoning behind this is that Seti's GPU application takes up 200MB at minimum of the video RAM at all times. At minimum. Your game will try to use way more than that, depending on what game it is. But any new game will fill the whole memory and leave nothing left.

Games like Fallout3, Oblivion, Crysis use maps of 750MB and over, which are constantly refreshed in the videocard's memory. If you then also try to store a Seti task in there, things are bound to go wrong.

ID: 845250 · Report as offensive
Profile Borgholio
Avatar

Send message
Joined: 2 Aug 99
Posts: 654
Credit: 18,623,738
RAC: 45
United States
Message 845255 - Posted: 26 Dec 2008, 10:39:45 UTC

Thanks for the info, I have created the cc_config.xml file so we'll see how well that works.
You will be assimilated...bunghole!

ID: 845255 · Report as offensive
Profile Borgholio
Avatar

Send message
Joined: 2 Aug 99
Posts: 654
Credit: 18,623,738
RAC: 45
United States
Message 845392 - Posted: 26 Dec 2008, 20:42:38 UTC - in response to Message 845255.  

The config file you gave me works great but it suspends ALL BOINC projects, not just Seti@home CUDA. Is there any way to set BOINC so that Seti@home CUDA alone won't run, or is it pretty much all or nothing?
You will be assimilated...bunghole!

ID: 845392 · Report as offensive
Maik

Send message
Joined: 15 May 99
Posts: 163
Credit: 9,208,555
RAC: 0
Germany
Message 845435 - Posted: 26 Dec 2008, 22:07:42 UTC
Last modified: 26 Dec 2008, 22:09:24 UTC

Open BM, go to projects tab, mark seti, press 'hold' (or suspend? dont know, mine is german) button ... ;)
ID: 845435 · Report as offensive
Profile Borgholio
Avatar

Send message
Joined: 2 Aug 99
Posts: 654
Credit: 18,623,738
RAC: 45
United States
Message 845571 - Posted: 27 Dec 2008, 6:08:55 UTC - in response to Message 845435.  

Well that's one way to do it. :) I guess until BOINC detects such things on it's own, manually stopping Seti is the easiest way to go. Thanks!
You will be assimilated...bunghole!

ID: 845571 · Report as offensive

Questions and Answers : GPU applications : CUDA out of memory error


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.