I want to use my GPU with Pyrit. I use Ubuntu 11.10, ATI Radeon HD 68xx and i7 2600K.

Step done:

  • Install latest ATI driver from manufacturer website
  • Install AMD APP SDK

When I run benchmark I get:

~$ pyrit benchmark
Pyrit 0.4.0 (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

Running benchmark (5037.4 PMKs/s)... - 

Computed 5037.45 PMKs/s total.
#1: 'CPU-Core (SSE2)': 667.8 PMKs/s (RTT 3.2)
#2: 'CPU-Core (SSE2)': 661.6 PMKs/s (RTT 3.2)
#3: 'CPU-Core (SSE2)': 664.0 PMKs/s (RTT 3.2)
#4: 'CPU-Core (SSE2)': 660.5 PMKs/s (RTT 3.2)
#5: 'CPU-Core (SSE2)': 669.7 PMKs/s (RTT 3.2)
#6: 'CPU-Core (SSE2)': 656.3 PMKs/s (RTT 3.2)
#7: 'CPU-Core (SSE2)': 667.4 PMKs/s (RTT 3.2)
#8: 'CPU-Core (SSE2)': 662.6 PMKs/s (RTT 3.1)
  • How to make sure that AMD APP SDK is correctly installed?

  • How to configure Pyrit to use OpenCL and my GPU?


Uninstalled Pyrit and re-installed AMD APP SDK. When trying to compile OpenCL support module for Pyrit I get this error:

$ sudo python setup.py build 
The headers required to build the OpenCL-kernel were not found. Trying to continue anyway...
svn: '.' is not a working copy
running build
running build_ext
Building modules...
building 'cpyrit._cpyrit_opencl' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c _cpyrit_opencl.c -o build/temp.linux-x86_64-2.7/_cpyrit_opencl.o -DVERSION="0.3.0"
_cpyrit_opencl.c:23:19: fatal error: CL/cl.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
  • This question appears to be abandoned and unanswered, if you are experiencing a similar issue please ask a new question with details pertaining to your problem. If you feel this question is not abandoned, please flag the question explaining that. – Eliah Kagan Apr 6 '13 at 17:37

This is the way I've finaly done it on Ubuntu Server 11.04

Install a minimal X11 environment:

aptitude install xserver-xorg xserver-xorg-core xserver-xorg-input-evdev xserver-xorg-video-ati lightdm unity-greeter openbox

Then, edit /etc/lightdm/lightdm.conf and add the following (replacing YOUR_USER_NAME with the user you will be running hashcat as):


Then add your username to the nopasswdlogin group:

usermod -a -G nopasswdlogin $USERNAME

Get build dependencies for Catalyst:

aptitude build-dep fglrx

Download and install Catalyst 12.8:

wget http://www2.ati.com/drivers/linux/amd-driver-installer-12-8-x86.x86_64.zip
unzip amd-driver-installer-12-8-x86.x86_64.zip
sh amd-driver-installer-8.982-x86.x86_64.run --uninstall=force
sh amd-driver-installer-8.982-x86.x86_64.run

Generate a new xorg.conf:

rm -f /etc/X11/xorg.conf*
amdconfig --adapter=all --initial

Make sure the DISPLAY env var is set:

echo 'export DISPLAY=:0' >>~/.bashrc

Reboot, and you should be all set.

| improve this answer | |

I never used Pyrit or tried to compile, however it seems like its config script (setup.py) cannot find OpenCL header files. You should look something like paths that are necessary to configure in such script. OpenCL headers for your ATI VGA will probably be installed in some subfoler of a driver installation.


Here is a part of this script, that sets the OpenCL.h path. Find this file on your PC, and experiment a little, which is chosen, and try to change it and see if that works.

LIBRARIES = ['crypto', 'z']
if sys.platform == 'darwin':
    # Use the built-in framework on MacOS
    EXTRA_LINK_ARGS.extend(('-framework', 'OpenCL'))
        if os.path.exists(os.environ['ATISTREAMSDKROOT']):
            OPENCL_INC_DIRS.append(os.path.join(os.environ['ATISTREAMSDKROOT'], 'include'))
            for path in ('lib/x86_64','lib/x86'):
                if os.path.exists(os.path.join(os.environ['ATISTREAMSDKROOT'], path)):
                    OPENCL_LIB_DIRS.append(os.path.join(os.environ['ATISTREAMSDKROOT'], path))
    for path in ('/usr/local/opencl/OpenCL/common/inc', \
                '/opt/opencl/OpenCL/common/inc', \
                '/usr/local/opencl/include', \
        if os.path.exists(path):
        print >>sys.stderr, "The headers required to build the OpenCL-kernel " \
                            "were not found. Trying to continue anyway..."

# Get exact version-string from svn
    svn_info = subprocess.Popen(('svn', 'info'), \
    VERSION += ' (svn r%i)' % \
                int(re.compile('Revision: ([0-9]*)').findall(svn_info)[0])
| improve this answer | |
  • The opencl headers are provided by the opencl-headers package and placed in a sane and findable location. – RobotHumans Mar 28 '14 at 11:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.