i will also throw in some argument, we can merge them later:
advantages:
===========
ATI:
- better performance-to-price ratio
- excellent single-hash performance in general which is required when cracking modern hashes like $1$, $6$ or phpass
NV:
- performance loss on unsalted multi-hashes is less than 10% even on huge hashtables because of better memory access
- produces nearly 0% cpu usage even on multi gpu systems
disadvantages:
==============
ATI:
- user manually needs to disable crossfirex
- requires kernel code written with proper vector datatype usage to get full performance but not all algorithms are compatible with that.
- opencl runtime is not installed by catalyst drivers per default (requires special APP version)
- linux specific: requires running X and a user logged into xsession that runs oclhashcat
- windows specific: each gpu needs to be connected to monitor
NV:
- no bitalign instruction. some workarounds are known but that are accessible by cuda only (not opencl)
- no cross compiler, make usage of special higher instructions impossible
- binary kernels in propretiary format
bugs:
=====
ATI:
- hd5970 only 1st gpu is supported (ati said they fix it with sdk v2.3)
- hd6xxx are not suppored at all (ati said they fix it with sdk v2.3)
- linux specific: multi-gpu is not supported at all (ati said they fix it with sdk v2.3)
- linux specific: each gpu produces 100% cpu load
advantages:
===========
ATI:
- better performance-to-price ratio
- excellent single-hash performance in general which is required when cracking modern hashes like $1$, $6$ or phpass
NV:
- performance loss on unsalted multi-hashes is less than 10% even on huge hashtables because of better memory access
- produces nearly 0% cpu usage even on multi gpu systems
disadvantages:
==============
ATI:
- user manually needs to disable crossfirex
- requires kernel code written with proper vector datatype usage to get full performance but not all algorithms are compatible with that.
- opencl runtime is not installed by catalyst drivers per default (requires special APP version)
- linux specific: requires running X and a user logged into xsession that runs oclhashcat
- windows specific: each gpu needs to be connected to monitor
NV:
- no bitalign instruction. some workarounds are known but that are accessible by cuda only (not opencl)
- no cross compiler, make usage of special higher instructions impossible
- binary kernels in propretiary format
bugs:
=====
ATI:
- hd5970 only 1st gpu is supported (ati said they fix it with sdk v2.3)
- hd6xxx are not suppored at all (ati said they fix it with sdk v2.3)
- linux specific: multi-gpu is not supported at all (ati said they fix it with sdk v2.3)
- linux specific: each gpu produces 100% cpu load