Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

EDIT:

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
share|improve this question
    
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
add comment

2 Answers 2

up vote 3 down vote accepted

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):

[SeatDefaults]
greeter-session=unity-greeter
user-session=openbox
autologin-user=YOUR_USER_NAME
autologin-user-timeout=0

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.

share|improve this answer
add comment

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.

EDIT:

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.

OPENCL_INC_DIRS = []
OPENCL_LIB_DIRS = []
EXTRA_LINK_ARGS = []
LIBRARIES = ['crypto', 'z']
if sys.platform == 'darwin':
    # Use the built-in framework on MacOS
    EXTRA_LINK_ARGS.extend(('-framework', 'OpenCL'))
    OPENCL_INC_DIRS.append('/System/Library/Frameworks/OpenCL.framework/Headers')
else:
    LIBRARIES.append('OpenCL')
    try:
        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))
                    break
    except:
        pass
    for path in ('/usr/local/opencl/OpenCL/common/inc', \
                '/opt/opencl/OpenCL/common/inc', \
                '/usr/local/opencl/include', \
                '/usr/local/cuda/include'):
        if os.path.exists(path):
            OPENCL_INC_DIRS.append(path)
            break
    else:
        print >>sys.stderr, "The headers required to build the OpenCL-kernel " \
                            "were not found. Trying to continue anyway..."

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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