Discussion:
[john-users] Beignet: unable to find good values for local_work_size
Matus UHLAR - fantomas
2018-08-27 09:54:10 UTC
Permalink
Hello,

for a few weeks, the beignet OpenCL driver reports this message:

Loaded 1 password hash (mysql-sha1-opencl, MySQL 4.1+ [SHA1 OpenCL])
Beignet: "unable to find good values for local_work_size[i], please
provide\n" " local_work_size[] explicitly, you can find good values with\n"
" trial-and-error method."

I understand it as the driver does not provide any useful value and the john
is just guesssing.

How can I test for the proper value? can I do it at runtime?
--
Matus UHLAR - fantomas, ***@fantomas.sk ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
Windows 2000: 640 MB ought to be enough for anybody
magnum
2018-08-27 17:36:25 UTC
Permalink
Post by Matus UHLAR - fantomas
Loaded 1 password hash (mysql-sha1-opencl, MySQL 4.1+ [SHA1 OpenCL])
Beignet: "unable to find good values for local_work_size[i], please
provide\n" " local_work_size[] explicitly, you can find good values with\n"
" trial-and-error method."
I understand it as the driver does not provide any useful value and the john
is just guesssing.
How can I test for the proper value? can I do it at runtime?
That message comes from Beignet, not john. What is triggering it is
likely that we deliberately use a local work size of NULL for incomplete
batches (eg. the very last batch in a session). There's not really any
way you can provide it... short of reverting to some commit before
https://github.com/magnumripper/JohnTheRipper/issues/3223 where we had
another scheme (which had other problems).

I would report it to them as a bug, because according to the OpenCL
spec. it should handle it. I believe what most drivers/runtimes do is
find greatest divisor of GWS that is less than or equal to highest
possible LWS, and use that.

Does it crash/abort or is this just a warning message? It could be that
it simply warns and then use an LWS of 1 which is suboptimal but works
fine in this case.

magnum
Matus UHLAR - fantomas
2018-08-28 13:16:56 UTC
Permalink
Post by magnum
Post by Matus UHLAR - fantomas
Loaded 1 password hash (mysql-sha1-opencl, MySQL 4.1+ [SHA1 OpenCL])
Beignet: "unable to find good values for local_work_size[i], please
provide\n" " local_work_size[] explicitly, you can find good values with\n"
" trial-and-error method."
I understand it as the driver does not provide any useful value and the john
is just guesssing.
How can I test for the proper value? can I do it at runtime?
That message comes from Beignet, not john. What is triggering it is
likely that we deliberately use a local work size of NULL for
incomplete batches (eg. the very last batch in a session). There's not
really any way you can provide it... short of reverting to some commit
before https://github.com/magnumripper/JohnTheRipper/issues/3223 where
we had another scheme (which had other problems).
I would report it to them as a bug, because according to the OpenCL
spec. it should handle it. I believe what most drivers/runtimes do is
find greatest divisor of GWS that is less than or equal to highest
possible LWS, and use that.
Does it crash/abort or is this just a warning message? It could be
that it simply warns and then use an LWS of 1 which is suboptimal but
works fine in this case.
since the cracking seems to continue, it is apparently just a warning, so I
will ignore it for now.

Thanks for explanation
--
Matus UHLAR - fantomas, ***@fantomas.sk ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
Save the whales. Collect the whole set.
Loading...