Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 28 Aug 2015 01:41:08 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: -dev=... -fork=... wastes GPU memory

On 2015-08-28 01:21, magnum wrote:
> On 2015-08-25 11:46, magnum wrote:
>> On 2015-08-25 07:26, Solar Designer wrote:
>>> Running this command on super:
>>>
>>> ./john -form=md5crypt-opencl 6.md5crypt.pw -fork=3 -dev=0,1,5
>>> -mask='?l?l?l?l?l?l?l?l'
>>> (...)
>>> It looks like the two child processes that target other GPUs
>>> nevertheless
>>> consume some memory on this GPU card as well.  Why is that, and can we
>>> avoid it?
>>>
>>> I guess the same happens for AMD GPUs as well, but we don't have such
>>> nice reporting for them.  Recent nvidia-smi is very nice in this
>>> respect.
>>
>> Interesting. Well, we do enumerate all GPUs and I guess we create some
>> kind of context for all of them. Maybe we can drop the ones we wont use.
>> I'll have a look at it.
>
> I had a look. We take care not to do *anyhing* OpenCL prior to forking.
> Any such stuff is post-poned. Then right after forking, we enumerate
> cards and pick one just as if each child was a single process.
>
> This made me think that the exact same thing will happen with just a
> single process, but I just checked and apparently it isn't. Very
> strange. I need to let this grow for a while.

I found this now by pure coincidence: 
http://www.openwall.com/lists/john-dev/2013/07/02/11 (very long thread, 
several branches).

Sounds a lot like a variant of the same problem. However, we did change 
a lot of stuff (eg. we're not initializing OpenCL at all for CPU 
formats, and never prior to forking).

magnum

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ