Archived. hashcat compiles only the kernels it needs, so there is nothing to trim. This page is kept for reference and is listed in the Archive.
Note: all versions of oclHashcat have been replaced by a unified OpenCL CPU/GPU version, now known simply as hashcat. Since modern hashcat dynamically compiles the kernels that it needs, the kernel removal technique described here is no longer necessary (unless you are running the legacy oclHashcat for some reason).
Each new compute capability increases the number of kernels required by oclhc, which in turn increases its size. There are currently 11 compute capabilities for NVIDIA. Multiply that number by the number of supported hashes and by two (for 32-bit and 64-bit operating systems). You can use a simple batch script to delete obsolete kernels and free up space.
There are several ways to identify your GPU's compute capability. One reliable and easy way is to launch CudaExample500.bat and look at the “Device #1” string printed by oclhc. In this example a GTX Titan and a 64 bit OS are used, so it should be “Device #1: Kernel ./kernels/4318/m00500.sm_35.64.ptx”. This means the GTX Titan has compute capability sm_35, so that is the only architecture you should keep.
Copy the batch script below into a file named “delete.bat” in the kernels\4318 folder inside oclhc.
del *.32.ptx del *.sm_10.64.ptx del *.sm_11.64.ptx del *.sm_12.64.ptx del *.sm_13.64.ptx del *.sm_20.64.ptx del *.sm_21.64.ptx del *.sm_30.64.ptx del *.sm_35.64.ptx del *.sm_37.64.ptx del *.sm_50.64.ptx del *.sm_52.64.ptx
The batch script above deletes all 32-bit and 64-bit kernels. For the example above, remove the line “del *.sm_35.64.ptx” from the file.
When you are done, run the batch file to delete all obsolete kernels.