05-02-2018, 04:27 PM
Recently I became aware of pocl's CUDA backend and decided to test it with hashcat.
I didn't expect much so I was astonished by the results.
pocl
NVIDIA
OpenCL info: https://gist.github.com/hops/fed6d821f59...03849ec308
pocl benchmarks: https://gist.github.com/hops/309b5a54216...337c60a46a
NVIDIA benchmarks: https://gist.github.com/hops/e4a639116a0...b2c666fa0a
Now before you all get excited and replace your NVIDIA drivers with pocl, let me stop you right there.
As you can see most of the benchmarks fail with the "CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES" error. Even basic attacks like MD5 dict+rules don't work.
However I do think this is worth keeping an eye on. I'm still surprised that an experimental FOSS project can (in some cases) outperform a proprietary OpenCL runtime developed with deep knowledge about the hardware.
To be fair the LLVM NVPTX backend (which pocl uses) seems to be maintained by NVIDIA engineers.
Also this is a single data point with 2x GTX 1080 so the results may differ on other GPUs.
I didn't expect much so I was astonished by the results.
pocl
Code:
Hashmode: 3200 - bcrypt $2*$, Blowfish (Unix) (Iterations: 32)
Speed.Dev.#2.....: 16586 H/s (37.79ms) @ Accel:16 Loops:8 Thr:8 Vec:1
Speed.Dev.#3.....: 16366 H/s (38.19ms) @ Accel:16 Loops:8 Thr:8 Vec:1
Speed.Dev.#*.....: 32953 H/s
NVIDIA
Code:
Hashmode: 3200 - bcrypt $2*$, Blowfish (Unix) (Iterations: 32)
Speed.Dev.#1.....: 14718 H/s (42.53ms) @ Accel:16 Loops:8 Thr:8 Vec:1
Speed.Dev.#2.....: 14516 H/s (43.12ms) @ Accel:16 Loops:8 Thr:8 Vec:1
Speed.Dev.#*.....: 29234 H/s
OpenCL info: https://gist.github.com/hops/fed6d821f59...03849ec308
pocl benchmarks: https://gist.github.com/hops/309b5a54216...337c60a46a
NVIDIA benchmarks: https://gist.github.com/hops/e4a639116a0...b2c666fa0a
Now before you all get excited and replace your NVIDIA drivers with pocl, let me stop you right there.
As you can see most of the benchmarks fail with the "CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES" error. Even basic attacks like MD5 dict+rules don't work.
However I do think this is worth keeping an eye on. I'm still surprised that an experimental FOSS project can (in some cases) outperform a proprietary OpenCL runtime developed with deep knowledge about the hardware.
To be fair the LLVM NVPTX backend (which pocl uses) seems to be maintained by NVIDIA engineers.
Also this is a single data point with 2x GTX 1080 so the results may differ on other GPUs.