oclHashcat-plus / oclHashcat-lite : New Feature : IL Kernel
#1
- added with oclHashcat-plus-0.09b11
- added with oclHashcat-lite-0.10b45

Code:
type: feature
file: kernels
desc: on AMD, switched from .kernel to .llvmir to reduce diskspace

type: feature
file: kernels
desc: on NV, switched from .cubin to .ptx to reduce diskspace

type: feature
file: kernels
desc: added kernel cache to avoid unnecessary recompilation
cred: m4tr1x

The kernels are distributed in an "intermediate" format (aka IL). It cant be reversed to original C code but still its not a binary format that can be used for execution.

The JIT (just-in-time) compilers from both OpenCL and CUDA, which ship with the driver, compile the final byte-code out of the IL. This takes a few seconds per kernel but once its done the byte-code is cached (CUDA does it automatically, OpenCL not but we add a function to do the same as CUDA does).

This has some nice advantages:
  • Not 32/64 bit specific
  • Less HDD space
  • Smaller .7z
  • Less problems with driver specific problems as we often see with Catalyst
  • There is no more need to release a new oclHashcat-* in case a new driver optimization has been added. oclHashcat-* caches driver specific. If it recognizes a driver change it will rebuild thge byte-code from the IL, but using the new JIT from the new driver resulting in driver specific optimized byte-code.
Reply
#2
wow thats great!
Reply