|
Troubleshooting
FAQ and troubleshooting
Featured Pyrit does not use SSE2The CPU-core supports SSE2 since version '0.2.3'. 'ImportError: /usr/.../cpyrit/cpyrit_cpu.so: cannot restore segment prot after reloc: Permission denied'This error may happen with SSE2-support compiled in and is caused by SELinux not trusting Pyrit's library. You can follow SELinux's guidelines on fixing that for your specific system. Or you can disable SELinux for the time being by executing (as root): echo 0 > /selinux/enforce The error was fixed in version '0.2.4 r152'. Using CPyrit-CUDA with CUDA 2.2 causes the error message 'Failed to load CUDA-core (CUDA_ERROR_INVALID_IMAGE)'This error was fixed in version '0.2.3'. You either have to update to '0.2.3' or downgrade to CUDA 2.1. Using CPyrit-CUDA with CUDA 3.0 causes the error message 'SystemError: CUDA_ERROR_INVALID_IMAGE'Please use the GPU-drivers that come with CUDA 3.0 at http://www.nvidia.com/object/cuda_get.html Pyrit no longer uses all CPUs after installing a GPU-driven extension-moduleThis behaviour is intended. Pyrit keeps one CPU free for scheduling work with every GPU it uses. GPU performance is reduced on system with Hyper ThreadingNVidia/ATI GPU driver requires at least one real core per GPU for efficient work. With HT enabled, the driver needs to fight for CPU cycles with CPU computing core. This leads to GPU starvation and decreased performance. The problem can be solved by reducing number of running CPU-cores: Open '.pyrit/config' and set 'limit_ncpus' to the number of physical CPU-cores. The GPU does not show up in 'list_cores'Pyrit suppresses most errors that occur while loading the GPU-extensions as they are usually caused by simply not having compatible hardware installed. Open a terminal and try loading the offending module directly to get more information. For CPyrit-OpenCL: python -c 'from cpyrit import _cpyrit_opencl' For CPyrit-CUDA: python -c 'from cpyrit import _cpyrit_cuda' There is no output at all if the module was loaded successfully. Some of the errors you might get include:
The CPyrit-OpenCL or CPyrit-CUDA modules are simply not installed or can't be found in the current Python-environment. Try (re-) installing the extension modules and make sure you don't mix the Python-interpreters you use (this can happen on MacOS which tends to have multiple versions of Python installed).
The CPyrit-CUDA modules requires Nvidia's proprietary driver to be installed. Depending on your distribution you may also need to symlink e.g. '/usr/lib/nvidia/libcuda.so.1' to '/usr/lib/libcuda.so.1' or add '/usr/lib/nvidia' to your ldconfig.
Ensure that the 'nvidia' module has been successfully loaded. Taking a look at the kernel ringbuffer may give more help: modprobe nvidia dmesg | tail
The CUDA-driver has loaded but failed to initialize or reports that none of your GPUs is compatible. Take a look at this page to find out if your GPU is supported. You may need to update your drivers. Xorg becomes slow and unresponsive when using Pyrit on the GPUO rly ? Pyrit says it stored only Y passwords after trying to import a wordlist of X entriesPyrit ignores passwords that have less than 8 or more than 63 characters as those can't be used for WPA anyway. The .pyrit directory has a size of only Y MBs after importing a wordlist of X GBsPyrit uses zlib-compression to store the passwords. There is another problem with PyritCreate a ticket in the Issue-Tracker or write an e-mail to lukas.lueg@gmail.com |
How to limit number of running CPU-Cores ? for solving HyperThreading? problems ?
use limit_ncpus in .pyrit/config
I would like to let people know that you may not have the cpyrit_calpp and cpyrit_opencl modules installed at the same time. This may result in the following error:
terminate called after throwing an instance of 'cal::Error'
AbortedIt has been stated somewhere here that the performance of CALpp is superb to the OpenCL implementation by a magnitude of 30% to 40% on 5000-series cards and around 10% to 4000-series cards. I found an improvement of about 50% on my ATI Radeon 5550. This may be because I'm using the latest Linux ATI drivers (11.1). For this reason, I would suggest using the CAL++ module over the OpenCL module.
I'd also like to mention that if you know you have an ATI OpenCL-supported card and you're using Linux, you must have Xorg (the window manager) running for it to be detected by such ATI Stream SDK utilities as FindNumDevices? and also by Pyrit. This has to do with how OpenCL communicates with the GPU. To do this on a headless Linux box, I suggest looking at this PDF from AMD/ATI:
http://developer.amd.com/gpu_assets/App_Note-Running_ATI_Stream_Apps_Remotely.pdf
I hope this info helps someone! It took me a while to figure this all out.
How can we donate to this project to help improve the software? I would like to donate!
There is a flattr-link on the main page
how can i say pyrit to use only one gpu core?
Occasionally, I get the following (on any pyrit command), any idea on why? Backtrack 4 R2, nVidia 295GTX, driver 270.xx
root@bt:~# pyrit list_cores Pyrit 0.3.1-dev (svn r280) (C) 2008-2010 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+
Traceback (most recent call last):
SystemError?: CUDA_ERROR_UNKNOWNOn Ubuntu using the ATI AMD-APP-SDK-v2.5 . The OpenCL lib will install in
/opt/AMDAPP/lib/x86/libOpenCL.so /opt/AMDAPP/lib/x86/libOpenCL.so.1 /opt/AMDAPP/lib/x86_64/libOpenCL.so /opt/AMDAPP/lib/x86_64/libOpenCL.so.1
if you try and build cpyrit-opencl root@shoryuken:~/cpyrit-opencl-0.3.0# python setup.py build 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/opt/AMDAPP/include -I/usr/include/python2.7 -c cpyrit_opencl.c -o build/temp.linux-x86_64-2.7/cpyrit_opencl.o -DVERSION="0.3.0" gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.7/cpyrit_opencl.o -lssl -lOpenCL -lz -o build/lib.linux-x86_64-2.7/cpyrit/cpyrit_opencl.so
You will get an error ld: cannot find -LOpenCL
To fix this, create a sym link from /opt/AMDAPP/lib/x86_64/libOpenCL.so to /usr/lib64/libOpenCL.so like below
root@shoryuken:~/cpyrit-opencl-0.3.0# ln -s /opt/AMDAPP/lib/x86_64/libOpenCL.so /usr/lib64/libOpenCL.so root@shoryuken:~/cpyrit-opencl-0.3.0# ln -s /opt/AMDAPP/lib/x86_64/libOpenCL.so.1 /usr/lib64/libOpenCL.so.1
Now build will be happy __
\root@shoryuken:~/cpyrit-opencl-0.3.0# python setup.py build 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/opt/AMDAPP/include -I/usr/include/python2.7 -c cpyrit_opencl.c -o build/temp.linux-x86_64-2.7/cpyrit_opencl.o -DVERSION="0.3.0" gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.7/cpyrit_opencl.o -lssl -lOpenCL -lz -o build/lib.linux-x86_64-2.7/cpyrit/cpyrit_opencl.so root@shoryuken:~/cpyrit-opencl-0.3.0#
Pyrit has quite bad GPU utilization on my 5970. I only get ~42000 PMK/s, and aticonfig reports GPU utilization around 40% (varying and shifting between GPUs). Performance is worse when running in batch mode against the database. Any ideas on how to utilize the card better? I suspect the bottleneck is I/O related. Other OpenCL programs are able to drive both GPUs to 99%.
does anyone have a Dell M90 laptop with nvidia 2500m working with pyrit/cuda? pyrit does not see my video card. Officially the 2500m is not on the list, however to my knowledge it is very similar to the 2700m, just "dell-ified".
Addendum to this section:
ImportError?: cannot import name cpyrit_cuda / ImportError?: cannot import name cpyrit_opencl
If you think the cpyrit folder is correctly installed by the cypyrit-cuda or cpyrit-opencl sources, but it is still not being detected, check to make sure that the init.py file is installed. This file is installed by the pyrit installer, not the cpyrit ones, so if this part of your pyrit installation messed up, you could have a normal working pyrit install, and it would fail to load the cyprit module, even though you are installing the cpyrit module correctly. To correct this, properly reinstall the main pyrit code.
I tried installing Cuda Toolkit fro Ubuntu Linux 10.04 32-bit as part of my Pyrit install(as found on this blog: http://j2neon.blogspot.com) and it failed almost at the endjsut before finishing after entering:
B?root@bt: ~/pyrit_svn/cpyrit_cuda# python setup.py build[/B]
I got the following error at the bottom:
/usr/bin/ld: cannot find -lcuda collect2: ld returned l exit status error: command 'gcc' failed with exit status 1
Since I'm a complete newb and I've never used Linux before I'm stuck and have no idea how to fix this although feel like it's something quite simple. Would appreciate any help or advice.
For the comment above about the "/usr/bin/ld: cannot find -lcuda" error - here is the solution:
http://forums.nvidia.com/index.php?showtopic=213288
P.S. Had the same error either - spent a whole damn day finding this out.