[Tested] oclHashcat 0.2.4 GPU-based Cracker: OpenCL / CUDA Test


OpenCL logo

1 – oclHashcat Overview

A new version of oclHashcat is available. oclHashcat is the GPU accelerated version of Hashcat, a MD5 password cracker. oclHashcat is able to use up to 16 GPUs to achieve its job. oclHashcat is available in two versions: OpenCL (oclHashcat) and CUDA (cudaHashcat). It seems the OpenCL version is only limited to Radeon cards. I tried to use it on the GTX 580 and here is the error message:


Then no apple-to-apple comparison but only OpenCL / Radeon vs CUDA / GeForce… I wonder why oclHashCat OpenCL support is not enabled on GeForce boards?

Here are the main features of Hashcat:

  • Free
  • Multi-GPU (up to 16 gpus)
  • Multi-Hash (up to 24 million hashes)
  • Multi-OS (Linux and Windows native binaries)
  • Multi-Platform (OpenCL and CUDA support)
  • Multi-Algo (MD4, MD5, SHA1, DCC, NTLM, MySQL, …)
  • Fastest multihash MD5 cracker on NVidia cards
  • Fastest multihash MD5 cracker on ATI 5xxx cards
  • Supports wordlists (not limited to Brute-Force / Mask-Attack)
  • Combines Dictionary-Attack with Mask-Attack to launch a Hybrid-Attack
  • Runs very cautious, you can still watch movies or play games while cracking
  • Supports pause / resume
  • The first and only GPU-based Fingerprint-Attack engine
  • Includes hashcats entire rule engine to modify wordlists on start

2 – oclHashcat OpenCL / CUDA Tests

oclHashcat 0.2.4 requires ATI Stream v2.3 for Radeon HD 6000 Series support. Just install Catalyst 10.12 APP and you’re ok.

Graphics drivers used:
– Radeon driver: Catalyst 10.12 (APP version for OpenCL support)
– GeForce driver: R266.58

Graphics cards tested:
– ATI Radeon HD 5870 reference board
EVGA GTX 580 Superclocked
– NVIDIA GeForce GTX 480 reference board

For GeForce boards I launched cudaExample.cmd and oclExample.cmd for Radeon boards.

Here are the performance (GPU speed):

– one GTX 480: 1041M c/s
– one HD 5870: 1211M c/s
– one GTX 580: 1217M c/s
– two GTX 480: 1457M c/s
– one HD 6970: 1575M c/s
– two HD 6970: 2520M c/s

oclHashcat - Radeon HD 6970
Radeon HD 6970 single GPU

The performance of the HD 6970 is very good (and I’m sure we’ll see performance boost with future drivers) and according to this test, one Cayman is faster than two GF100.

The Radeon HD 6970 seems to be the card of choice for password crackers ;)

Just for the sake of memory, here are some GFLOPS (source):
– GTX 580: 1581 GFLOPS
– HD 6970: 2703 GFLOPS
– HD 5870: 2720 GFLOPS

And here is the GPU usage of the HD 6970 CF:

oclHashcat - Radeon HD 6970 CF - GPU usage
Radeon HD 6970 CrossFire – GPU usage under oclHashCat

This test of oclHashcat was interesting because it taught me that to take advantage of several Radeon GPUs in OpenCL, CrossFire must be enabled. For regular 3D this is a normal requirement, but we are talking about GPU computing. In OpenCL, each GPU is a compute device and then a system with two Radeon HD 6970 should have two compute devices. With NVIDIA this is the case. No matter the SLI state, if you have two GPUs (let’s say two GTX 480 in our case), NVIDIA OpenCL or CUDA will see two compute devices:

GPU Caps Viewer - two GTX 480, SLI disabled
GPU Caps Viewer – two GTX 480, two OpenCL compute devices, SLI disabled

With AMD OpenCL implementation, here are the compute devices detected (two HD 6970 in the rig) when CrossFire is disabled:

GPU Caps Viewer - two HD 6970, CF disabled
GPU Caps Viewer – two HD 6970, one GPU OpenCL compute device, CF disabled

As you can see, AMD’s OpenCL sees only one GPU compute device (the second device is a CPU compute device, keep in mind that AMD offers both GPU and CPU OpenCL support). To see two compute devices, CrossFire must be enabled:

GPU Caps Viewer - two HD 6970, CF enabled
GPU Caps Viewer – two HD 6970, two GPU OpenCL compute devices, CF enabled

That explains why oclHashcat uses only one GPU when CrossFire was disabled.

I also did a test with a HD 6970 + HD 5870 but as expected, only the Cayman compute device has been recognized by AMD’s OpenCL…


↑ Grab this Headline Animator