[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ESPResSo-users] CUDA error: out of memory
From: |
Stefan Kesselheim |
Subject: |
Re: [ESPResSo-users] CUDA error: out of memory |
Date: |
Fri, 2 Aug 2013 11:41:47 +0200 |
Hi,
On Aug 2, 2013, at 11:39 AM, Markus Gusenbauer <address@hidden> wrote:
> You are absolutely right, it is a 2GB GPU, thanks for the info! Can I use
> more than 1 GPU for a simulation?
Yes, and that is what you are doing. You get the error because your GPU memory
is full! If you need more than 200^3 you need a GPU with more memory as we
cannot do multi-gpu (yet).
Cheers
Stefan
>
> Markus
>
>
> On 02.08.2013 11:17, Stefan Kesselheim wrote:
>> Hi Markus,
>> yes, that is quite right. We need 19xN single precision float numbers per LB
>> cell, times two, because we stream from one lattice to a second lattice to
>> avoid race conditions.
>> 200**3 cells *19 populations * 4 byte * 2 buffers=1216MB,
>> We need a bit more to save forces and so I'd conclude you have a 2GB GPU.
>> Cheers
>> Stefan
>>
>> On Aug 2, 2013, at 11:01 AM, Markus Gusenbauer <address@hidden> wrote:
>>
>>> Hi all,
>>>
>>> is the number of nodes with the LBM on GPU limited by hardware? When I
>>> choose too large simulation size, I get a CUDA out of memory error.
>>> Right now I am limited to around 8,320,000 nodes (200x200x208), after that
>>> it crashes.
>>>
>>> Example:
>>>
>>> setmd time_step 0.1
>>> setmd skin 0.2
>>> thermostat off
>>>
>>> set boxX 200
>>> set boxY 200
>>> set boxZ 208
>>>
>>> setmd box_l $boxX $boxY $boxZ
>>>
>>> lbfluid gpu grid 1 dens 1.0 visc 1.5 tau 0.1 friction 0.5
>>>
>>> set cycle 0
>>> while { $cycle<100 } {
>>> puts "$cycle / 100 \r";
>>>
>>> for { set i 1 } { $i < [expr $boxX-1]} { incr i } {
>>> for { set j 1 } { $j < [expr $boxY-1] } { incr j } {
>>> for { set k 0 } { $k < 1 } { incr k } {
>>> lbnode $i $j $k set u 0.0 0.0 0.001
>>> }
>>> }
>>> }
>>>
>>> integrate 1
>>> incr cycle
>>> }
>>>
>>>
>>> Thanks!
>>>
>>> Markus
>>>