Skip to content
Home » Operating System » Hashcat Build and Benchmarking

Hashcat Build and Benchmarking

Installing, Configuring, and Benchmarking Hashcat on a 6GPU NVIDIA 1080TI Rig

Ubuntu Server 18.04 has been installed, cards connected, and these directions pickup at your very first login

Login

sudo bash

apt-get update && apt-get upgrade

apt-get dist-upgrade

add-apt-repository universe

apt-get install gcc libglu1-mesa libxi-dev libxmu-dev libglu1-mesa-dev screen

lspci | grep -i nvidia

You should see all of your video cards listed here

apt-get install linux-headers-$(uname -r)

mkdir /installs && mkdir /installs/drivers/ && mkdir /installs/drivers/intel && mkdir /installs/drivers/nvidia && cd /installs/drivers/nvidia

sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update && apt-get install nvidia-driver-410

reboot

Login

sudo bash

nvidia-smi

You will now see your NVidia cards listed

cd /installs/drivers/nvidia

wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux

mv cuda_10.0.130_410.48_linux cuda_10.0.130_410.48_linux.run

chmod +x cuda_10.0.130_410.48_linux.run

screen sh cuda_10.0.130_410.48_linux.run

Select No to the driver update

Yes to the toolkit install

cd /home/yourusernamegoeshere/ && nano .bashrc

Add this to the end of the file:
# add cuda tools to command path
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin:$PATH

nano /etc/ld.so.conf.d/cuda-10.0-x86_64

Put only one line:
/usr/local/cuda-10.0/lib64

CTRL X to Save and Exit the file

ldconfig

apt-get install hashcat

Now for the OpenCL CPU drivers..I am using an Intel Celeron Processor, so these steps are needed for Hashcat to work properly.  These are not needed for the GPUs

sudo apt-get install ccache flex bison clang-4.0 cmake g++ git patch zlib1g-dev autoconf xutils-dev libtool pkg-config libpciaccess-dev

mkdir -p /installs/drivers/intel-compute-runtime/workspace

cd  /installs/drivers/intel-compute-runtime/workspace

git clone -b release_40 https://github.com/llvm-mirror/clang clang_source

git clone https://github.com/intel/opencl-clang common_clang

git clone https://github.com/intel/llvm-patches llvm_patches

git clone -b release_40 https://github.com/llvm-mirror/llvm llvm_source

git clone https://github.com/intel/gmmlib gmmlib

git clone https://github.com/intel/intel-graphics-compiler igc

git clone https://github.com/KhronosGroup/OpenCL-Headers khronos

git clone https://github.com/intel/compute-runtime neo

ln -s khronos opencl_headers

mkdir -p /installs/drivers/intel-compute-runtime/workspace/build_igc

cd /installs/drivers/intel-compute-runtime/workspace/build_igc

cmake -DIGC_OPTION__OUTPUT_DIR=../igc-install/Release \
-DCMAKE_BUILD_TYPE=Release -DIGC_OPTION__ARCHITECTURE_TARGET=Linux64 \
../igc/IGC

time make -j$(nproc) VERBOSE=1

Now you can generate Debian archives for installation:

time make -j$(nproc) package VERBOSE=1

Install:

sudo dpkg -i *.deb

nano /etc/environment

To the end of the first line (PATH), add the following:

:/usr/local/cuda/bin:/usr/lib/llvm-4.0/bin

Save and Exit

source /etc/environment

mkdir -p /installs/drivers/intel-compute-runtime/workspace/build_icr

cd /installs/drivers/intel-compute-runtime/workspace/build_icr

cmake -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release ../neo

time make -j$(nproc) package VERBOSE=1

sudo dpkg -i *.deb

apt-get install clinfo

clinfo

Now you should see that ICD is installed

And finally you can run

hashcat -b

That’s it!  Thanks for reading!

The hardware that I used in this guide:
Gigabyte AORUS GeForce GTX 1080 Ti (QTY 6):
https://amzn.to/2JqvXC8

Motherboard (QTY 1): 
https://amzn.to/2JqGJZ7

CPU (QTY 1): 
https://amzn.to/3qevp2X

Memory (QTY 1): 
https://amzn.to/2JqHn8Z

Hard Drive (QTY 1):  
https://amzn.to/3lic3X5

Risers (QTY 6):  
https://amzn.to/33rIgVE

Power Supplies (QTY 2):
https://amzn.to/3fTRpLR

Add2PSU (QTY 1):
https://amzn.to/39s4URY

Power Switch (QTY 1):  
https://amzn.to/3ljmNVk