openwall / openwall/john

tezos-opencl: Occasional CL_INVALID_VALUE on passwords transfer to device during auto-tune

Open
#4,953 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

I previously only saw this on Xeon Phi, but today it also occurred on the old Titan Kepler (just once, not reproducible):

binary size 3450038
LWS=7 GWS=49 (7 blocks) PASS,
Test mask: ?a?a?l?u?d?d?s
Calculating best GWS for LWS=32; max. 100 ms single kernel invocation.
Raw speed figures including buffer transfers:
Tuning for password length 7
xfer: 2.528 us, init: 268.160 us, crypt: 4x35.609 ms, final: 81.717 ms, res xfer: 2.112 us
gws:       256     1140 c/s     2334720 rounds/s  224.429 ms per crypt_all()!
xfer: 4.256 us, init: 265.888 us, crypt: 4x114.488 ms (exceeds 100 ms)
xfer: 1.664 us, init: 276.224 us, crypt: 4x119.263 ms (exceeds 100 ms)
Calculating best LWS for GWS=256
Testing LWS=32 GWS=256 ... 229.469 ms+
Testing LWS=64 GWS=256 ... 229.605 ms
Testing LWS=128 GWS=256 ... 225.517 ms+
Testing LWS=256 GWS=256 ... 224.184 ms+
Calculating best GWS for LWS=256; max. 200 ms single kernel invocation.
Raw speed figures including buffer transfers:
xfer: 50.336 us, init: 79.685 ms, crypt: 4x224.813 ms (exceeds 200 ms)
0: OpenCL CL_INVALID_VALUE (-30) error in opencl_tezos_fmt_plug.c:312 - Copy data to gpu
 (error occurred)LWS=256 GWS=5376 (21 blocks) DONE
Raw:    5144 c/s real, 8885 c/s virtual, Dev#6 util: 100%

(The device was in other concurrent use.)

These errors look benign in all cases I've seen so far, but I am puzzled by them anyway. I suppose we might end up closing this issue with no action, but I just want to have this recorded in here and maybe someone will see the problem.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect opencl_tezos_fmt_plug.c at line 312, where the logged CL_INVALID_VALUE occurs during password transfer to the GPU. Reproduce the tezos-opencl auto-tune on a concurrently used device and determine whether the transfer error has a specific cause or is benign; done means identifying a fix or documenting why no action is needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.