Review OpenCL format's non-calling of init() in loader when using --fork
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.6k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
https://github.com/openwall/john/issues/4426#issuecomment-720702598
How/why do we get away with not calling fmt_init when options.acc_devices->count && options.fork && strstr(alt->params.label, "-opencl"), or in plain english "running soon-to-be-forked with a GPU format" (a.k.a poor man's multi-GPU support)?
Is it just post-poned? Are we relying on some undocumented (non-)property of all current OpenCL formats? What property? I think many formats don't actually require an init() but we should document what we are relying on here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked issue 4426 comment, then trace the loader condition involving options.acc_devices, options.fork, the OpenCL label, and fmt_init. Compare the relevant OpenCL formats to determine the assumed initialization property; done means the behavior and its rationale are documented or the missing initialization is addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- backend, hpc
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100