安装带CAL++支持的pyrit

虽然151933.5 PMKs/s很好,但是我们知道这不是其应有的速度。所以我们决定采用使用CAL++的SVN版pyrit0.4.1-dev),而不是使用带OpenCL的稳定版pyrit0.4.0)。

我们要做的第一件事就是卸载pyrit请相信我,这么做是值得的):

user@ubuntu:~$ cd pyrit-0.4.0/
user@ubuntu:~/pyrit-0.4.0$ sudo python setup.py install --record files.txt; sudo rm $(cat files.txt)
user@ubuntu:~pyrit-0.4.0$ cd ../cpyrit-opencl-0.4.0/
user@ubuntu:~/cpyrit-opencl-0.4.0$ sudo python setup.py install --record files.txt; sudo rm $(cat files.txt)

现在下载CAL++http://sourceforge.net/projects/calpp/),并安装它:

user@ubuntu:~$ sudo apt-get install libboost-all-dev cmake
user@ubuntu:~$ tar -zxvf calpp-0.90.tar.gz
user@ubuntu:~$ cd calpp-0.90

CAL++需要作几个变更,以便顺利找到AMD SDK库,所以编辑CMakeLists.txt,注释掉这些行即在每行开头添加“#”):

FIND_LIBRARY( LIB_ATICALCL aticalcl PATHS "$ENV{ATISTREAMSDKROOT}/lib" )
FIND_LIBRARY( LIB_ATICALRT aticalrt PATHS "$ENV{ATISTREAMSDKROOT}/lib" )
FIND_PATH( LIB_ATICAL_INCLUDE NAMES cal.h calcl.h PATHS "$ENV{ATISTREAMSDKROOT}/include" )

添加这些:

FIND_LIBRARY( LIB_ATICALCL aticalcl PATHS "/opt/AMDAPP/lib" )
FIND_LIBRARY( LIB_ATICALRT aticalrt PATHS "/opt/AMDAPP/lib" )
FIND_PATH( LIB_ATICAL_INCLUDE NAMES cal.h calcl.h PATHS "/opt/AMDAPP/include/CAL" )

现在我们编译,然后安装:

user@ubuntu:~/calpp-0.90$ sudo make install

由于CAL++已安装,你可以下载pyrit的开发分支,完成安装的其余步骤。

user@ubuntu:~$ sudo apt-get install subversion
user@ubuntu:~$ svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn
user@ubuntu:~$ cd pyrit_svn/cpyrit_calpp/

我有没有提到这是开发版本?这意味着你得作几个变更:

编辑setup.py第28行,应该是:
VERSION = '0.4.1-dev'

编辑setup.py第35行,应该是:
CALPP_INC_DIR = '/opt/AMDAPP'

编辑setup.py第41行,应该是:
CALPP_INC_DIRS.append(os.path.join(CALPP_INC_DIR, 'include/CAL'))

好了,我们已准备好了编译和安装:

user@ubuntu:~/pyrit_svn/cpyrit_calpp$ python setup.py build
user@ubuntu:~/pyrit_svn/cpyrit_calpp$ sudo python setup.py install
user@ubuntu:~/pyrit_svn/cpyrit_calpp$ cd ../pyrit/
user@ubuntu:~/pyrit_svn/pyrit$ python setup.py build
user@ubuntu:~/pyrit_svn/pyritsudo python setup.py install


相关内容