Question Comment puis-je compiler le module OpenCL pour Pyrit?


Je veux utiliser mon GPU avec Pyrit. J'utilise Ubuntu 11.10, ATI Radeon HD 68xx et i7 2600K.

Étape réalisée:

  • Installez le dernier pilote ATI à partir du site Web du fabricant
  • Installer le SDK APP AMD

Lorsque je lance un benchmark, j'obtiens:

~$ 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)
  • Comment s'assurer que le SDK APP AMD est correctement installé?

  • Comment configurer Pyrit pour utiliser OpenCL et mon GPU?

MODIFIER:

Désinstallation de Pyrit et ré-installation du SDK APP AMD. En essayant de compiler le module de support OpenCL pour Pyrit, j'obtiens cette erreur:

$ 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

4
2018-02-04 17:58


origine


Cette question semble être abandonnée et sans réponse, si vous rencontrez un problème similaire s'il vous plaît poser une nouvelle question avec des détails relatifs à votre problème. Si vous sentez que cette question est ne pas abandonné, veuillez signaler la question en expliquant cela. - Eliah Kagan


Réponses:


C'est comme ça que je l'ai finalement fait sur Ubuntu Server 11.04

Installez un environnement X11 minimal:

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

Ensuite, éditez /etc/lightdm/lightdm.conf et ajoutez ce qui suit (en remplaçant YOUR_USER_NAME par l’utilisateur sous lequel vous exécuterez hashcat):

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

Ajoutez ensuite votre nom d'utilisateur au groupe nopasswdlogin:

usermod -a -G nopasswdlogin $USERNAME

Obtenir des dépendances de construction pour Catalyst:

aptitude build-dep fglrx

Téléchargez et installez le 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

Générez un nouveau fichier xorg.conf:

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

Assurez-vous que la variable DISPLAY env est définie:

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

Redémarrez et vous devriez être tous prêts.


3
2018-04-07 03:14





Je n'ai jamais utilisé Pyrit ou essayé de compiler, cependant il semble que son script de configuration (setup.py) ne trouve pas les fichiers d'en-tête OpenCL. Vous devriez ressembler à des chemins que vous devez configurer dans un tel script. Les en-têtes OpenCL pour votre ATI VGA seront probablement installés dans certains sous-modules d'une installation de pilote.

MODIFIER:

Voici une partie de ce script qui définit le chemin OpenCL.h. Trouvez ce fichier sur votre PC, et expérimentez un peu, qui est choisi, et essayez de le changer et voir si cela fonctionne.

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

2
2018-04-06 18:31



Les en-têtes opencl sont fournis par le opencl-headers paquet et placé dans un endroit sain et trouvable. - RobotHumans