Как я могу скомпилировать модуль OpenCL для Pyrit?

Задайте систему упаковки!

apt-cache search pyqt5

дает 66 резултатов, включая

...
pyqt5-dev - Development files for PyQt5
pyqt5-dev-tools - Development tools for PyQt5
pyqt5-doc - Documentation for PyQt5
pyqt5-examples - Examples and demos for PyQt5
....

Прочитайте man apt, чтобы узнать, как установить эти пакеты, что может решить вашу проблему .

1
задан 6 April 2013 в 22:13

1 ответ

Я никогда не использовал Pyrit или не пытался скомпилировать, однако его конфигурационный скрипт (setup.py) не может найти файлы заголовков OpenCL. Вы должны посмотреть что-то вроде путей, которые необходимо настроить в таком скрипте. Заголовки OpenCL для вашего ATI VGA, вероятно, будут установлены в некоторых подпапках установки драйвера.

EDIT:

Вот часть этого скрипта, который устанавливает путь OpenCL.h. Найдите этот файл на своем ПК и немного поэкспериментируйте, который выбран, и попробуйте изменить его и посмотреть, работает ли это.

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
ответ дан 25 May 2018 в 14:34
  • 1
    Заголовки opencl предоставляются пакетом opencl-headers и помещаются в разумное и доступное место. – RobotHumans 28 March 2014 в 17:03

Другие вопросы по тегам:

Похожие вопросы: