Beignet ubuntu что это
OpenCL (Open Computing Language) is a multivendor open standard for general-purpose parallel programming of heterogeneous systems that include CPUs, GPUs and other processors.
This package contains the shared library for an Intel implementation, for the integrated GPUs of ix-3xxx (Ivy Bridge) and ix-4xxx (Haswell) Intel Core and Atom processors.
It also supports newer hardware (up to Coffee Lake), but for these intel-opencl-icd is likely to be a better option.
Другие пакеты, относящиеся к beignet-opencl-icd
- зависимости
- рекомендации
- предложения
- enhances
- dep: libc6 (>= 2.27) [x32] библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый libc6-udeb dep: libc6 (>= 2.32) [не x32] - dep: libdrm-intel1 (>= 2.4.71) программный интерфейс к дополнительным функциям графического драйвера intel в ядре
- dep: libdrm2 (>= 2.3.1) интерфейс пространства пользователя для DRM-служб ядра (времени выполнения)
- dep: libegl1 [x32] работа с GL абстрагированная от аппаратного обеспечения — поддержка EGL
- dep: libgcc-s1 (>= 3.3) [amd64] вспомогательная библиотека GCC dep: libgcc-s1 (>= 4.2) [i386]
- dep: libgcc1 (>= 1:3.4) [x32] Пакет недоступен
- dep: libgl1 [x32] работа с GL — поддержка старых программ
- dep: libstdc++6 (>= 11) [не x32] стандартная библиотека GNU C++ версии 3 dep: libstdc++6 (>= 6) [x32]
- dep: libtinfo6 (>= 6) низкоуровневая библиотека для работы с терминалом
- dep: libx11-6 (>= 2:1.4.99.1) библиотека X11 для клиентской стороны
- dep: libxext6 интерфейс к различным расширениям графической подсистемы X11
- dep: libxfixes3 библиотека различных поправок к графической системе X11
- dep: zlib1g (>= 1:1.2.0) библиотека сжатия
Загрузка beignet-opencl-icd
Архитектура | Версия | Размер пакета | В установленном виде | Файлы |
---|---|---|---|---|
amd64 | 1.3.2-9 | 15 597,9 Кб | 64 459,0 Кб | [список файлов] |
i386 | 1.3.2-9 | 13 834,4 Кб | 51 812,0 Кб | [список файлов] |
x32 (неофициальный перенос) | 1.3.2-6 | 14 789,0 Кб | 50 117,0 Кб | [список файлов] |
Эта страница также доступна на следующих языках (Как установить язык по умолчанию):
Авторские права © 1997 - 2021 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.
Этичный хакинг и тестирование на проникновение, информационная безопасность
Драйверы и программы для взлома на графической карте и центральном процессоре в hashcat
В этой статье показано, какие драйверы и программы установить для того, чтобы hashcat и аналогичные программы для брут-форса могли использовать видеокарту и процессор для взлома паролей.
В настоящее время hashcat использует OpenCL. Как написано в Википедии, OpenCL (англ. Open Computing Language — открытый язык вычислений) — фреймворк для написания компьютерных программ, связанных с параллельными вычислениями на различных графических и центральных процессорах, а также FPGA. В OpenCL входят язык программирования, который основан на стандарте языка программирования Си C99, и интерфейс программирования приложений. OpenCL обеспечивает параллелизм на уровне инструкций и на уровне данных и является осуществлением техники GPGPU. OpenCL является полностью открытым стандартом, его использование не облагается лицензионными отчислениями.
Цель OpenCL состоит в том, чтобы дополнить открытые отраслевые стандарты для трёхмерной компьютерной графики и звука OpenGL и OpenAL возможностями GPU для высокопроизводительных вычислений. OpenCL разрабатывается и поддерживается некоммерческим консорциумом Khronos Group, в который входят много крупных компаний, включая AMD, Apple, ARM, Intel, Nvidia, Sony Computer Entertainment и другие.
То есть благодаря такой универсальности OpenCL, программы для выполнения вычислений, в том числе и hashcat, запускают свои задачи универсальным способом на любых устройствах, поддерживающих OpenCL.
OpenCL поддерживают видеокарты AMD, NVIDIA, а также Intel GPU.
Видеокарты AMD, NVIDIA также в большинстве поддерживают OpenCL, кроме совсем старых.
Для работы OpenCL необходима установка драйвера и инструментов взаимодействия с OpenCL. Данная статья посвящена установке OpenCL в Linux. Аналогичные инструкции для Windows даны в статье «Инструкция по hashcat: запуск и использование программы для взлома паролей» (смотрите раздел «Драйверы для hashcat»).
Итак, требования для работы hashcat с OpenCL следующие:
- Для AMD видеокарт необходимо: "RadeonOpenCompute (ROCm)" Software Platform (1.6.180 или более поздняя версия)
- Для процессоров Intel необходимо: "OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 или более поздняя версия)
- Для NVIDIA видеокарт необходимо: "NVIDIA Driver" (367.x или более поздняя версия)
Для устаревших процессоров (до Broadwell) используется "OpenCL 2.0 GPU Driver Package for Linux" (Iris, Iris Pro).
В этой статье будет показано, как установить всё необходимое для использования OpenCL на видеокартах NVIDIA и современных процессорах Intel. Инструкции будут даны на примере Kali Linux (также должны подходить для Debian, Linux Mint, Ubuntu и их производных) и Arch Linux (BlackArch).
Как включить OpenCL на Kali Linux (Debian, Linux Mint, Ubuntu) для hashcat
Включение OpenCL для NVIDIA
Начните с полного обновления системы и затем перезагрузитесь:
После того, как мы обновили систему, нужно проверить модули ядра nouveau (свободные драйвера Nvidia, они будут конфликтовать с проприетарными)
Если предыдущая команда хоть что-то вывела, например:
это означает, что они включены. Поэтому необходимо добавить их в чёрный список:
После изменения параметров ядра, нам нужно обновить наши initramfs и перезагрузиться.
После перезагрузки и проверки, что модули nouveau не загружены, мы переходим к установке загрузчика OpenCL ICD, драйверов и набора инструментов CUDA.
Во время установки драйверов система создаёт новые модули ядра, поэтому требуется ещё одна перезагрузка.
Проверка установленных драйверов
Теперь наша система должна быть готова, нам нужно проверить, что драйверы корректно загружены. Мы можем быстро в этом убедиться запустив инструмент nvidia-smi.
Вывод показывает, что наш драйвер и GPU в порядке — можно приступать к взлому паролей. Перед продолжением, давайте ещё раз сделаем проверку и убедимся, что hashcat и CUDA работают вместе.
Если вы получили ошибку clGetDeviceIDs(): CL_DEVICE_NOT_FOUND с отметкой Platform ID Vendor: Mesa, то запустите:
Продолжим запуском теста производительности. Бенчмарк
Включение OpenCL для Intel
Если ваш центральный процессор поддерживает OpenCL, то установите следующие пакеты:
Просмотрим список устройств ещё раз (должно добавиться новое устройство):
И выполним бенчмар ещё раз:
Как включить OpenCL на Arch Linux (BlackArch) для hashcat
Включение OpenCL для NVIDIA
Удалите xf86-video-nouveau есть он есть:
Установите проприетарный драйвер NVIDIA:
Установите драйвер CUDA и другие необходимые пакеты, а также hashcat:
Включение OpenCL для Intel
Теперь проверим список устройств:
Пакет beignet
beignet — это реализация OpenCL для Intel IvyBridge и Haswell iGPUs. В настоящее время этот пакет считается устаревшим и его должен заменить intel-compute-runtime. У меня в системе установить beignet, то появляется дополнительное устройство OpenCL — как на Kali Linux, где также видно 3 устройства OpenCL. Но это устройство работает нестабильно с Hashcat.
Вы можете протестировать, как себя ведёт beignet на вашей системе. Возможно, для более старых процессоров это единственная опция.
OpenCL для AMD
Если вы владелец AMD карты, то поделитесь вашим опытом установки драйвера AMD с поддержкой OpenCL. Пишите ваши команды для установки в комментариях — и я добавлю в статью новый раздел. Если есть возможность, сделайте скриншоты и/или бенчмарки.
Beignet is an open source implementation of the OpenCL specification - a generic compute oriented API. This code base contains the code to run OpenCL programs on Intel GPUs which basically defines and implements the OpenCL host functions required to initialize the device, create the command queues, the kernels and the programs and run them on the GPU. The code base also contains the compiler part of the stack which is included in backend/ . For more specific information about the compiler, please refer to backend/README.md
Prerequisite
The project depends on the following external libraries:
- libdrm libraries (libdrm and libdrm_intel)
- Various LLVM components
- If run with X server, beignet needs XLib, Xfixes and Xext installed. Otherwise, no X11 dependency.
And if you want to work with the standard ICD libOpenCL.so, then you need two more packages (the following package name is for Ubuntu):
If you don't want to enable ICD, or your system doesn't have ICD OpenCL support, you must explicitly disable ICD support by running cmake with option -DOCLICD_COMPAT=0 then you can still link to the beignet OpenCL library. You can find the beignet/libcl.so in your system's library installation directories.
Note that the compiler depends on LLVM (Low-Level Virtual Machine project), and the project normally supports the 3 latest LLVM released versions. Right now, the code has been compiled with LLVM 3.6, 3.7 and 3.8. With older version LLVM from 3.3, build still support, but no full tests cover.
A simple command to install all the above dependencies for ubuntu or debian is:
sudo apt-get install cmake pkg-config python ocl-icd-dev libegl1-mesa-dev ocl-icd-opencl-dev libdrm-dev libxfixes-dev libxext-dev llvm-3.6-dev clang-3.6 libclang-3.6-dev libtinfo-dev libedit-dev zlib1g-dev
The recommended LLVM/CLANG version is 3.6 and/or 3.7
Based on our test result, LLVM 3.6 and 3.7 has the best pass rate on all the test suites. Compared to LLVM 3.6 and 3.7, if you used LLVM 3.8, you should pay attention to float immediate. For example, if you use 1.0 in the kernel, LLVM 3.6 will treat it as 1.0f, a single float, because the project doesn't support double float. but LLVM 3.8 will treat it as 1.0, a double float, at the last it may cause error. So we recommend using 1.0f instead of 1.0 if you don't need double float.
For LLVM 3.4 and 3.5, Beignet still support them, but it may be limited to support the build and major functions.
How to build and install
The project uses CMake with three profiles:
- Debug (-g)
- RelWithDebInfo (-g with optimizations)
- Release (only optimizations)
Basically, from the root directory of the project
Please be noted that the code was compiled on GCC 4.6, GCC 4.7 and GCC 4.8 and CLANG 3.5 and ICC 14.0.3. Since the code uses really recent C++11 features, you may expect problems with older compilers. The default compiler should be GCC, and if you want to choose compiler manually, you need to configure it as below:
CMake will check the dependencies and will complain if it does not find them.
The cmake will build the backend firstly. Please refer to: OpenCL Gen Backend to get more dependencies.
Once built, the run-time produces a shared object libcl.so which basically directly implements the OpenCL API.
A set of tests are also produced. They may be found in utests/ .
It installs the following six files to the beignet/ directory relatively to your library installation directory. - libcl.so - libgbeinterp.so - libgbe.so - ocl_stdlib.h, ocl_stdlib.h.pch - beignet.bc
It installs the OCL icd vendor files to /etc/OpenCL/vendors, if the system support ICD. - intel-beignet.icd
It packages the driver binaries, you may copy&install the package to another machine with similar system.
How to run
After building and installing Beignet, you may need to check whether it works on your platform. Beignet also produces various tests to ensure the compiler and the run-time consistency. This small test framework uses a simple c++ registration system to register all the unit tests.
You need to call setenv.sh in the utests/ directory to set some environment variables firstly as below:
will run all the unit tests one after the others
will only run some_unit_test test.
On all supported target platform, the pass rate should be 100%. If it is not, you may need to refer the "Known Issues" section. Please be noted, the . setenv.sh is only required to run unit test cases. For all other OpenCL applications, don't execute that command.
Normally, beignet needs to run under X server environment as normal user. If there isn't X server, beignet provides two alternative to run: * Run as root without X. * Enable the drm render nodes by passing drm.rnodes=1 to the kernel boot args, then you can run beignet with non-root and without X.
Supported Targets
- 3rd Generation Intel Core Processors "Ivybridge".
- 3rd Generation Intel Atom Processors "BayTrail".
- 4th Generation Intel Core Processors "Haswell", need kernel patch if your linux kernel older than 4.2, see the "Known Issues" section.
- 5th Generation Intel Core Processors "Broadwell".
- 5th Generation Intel Atom Processors "Braswell".
- 6th Generation Intel Core Processors "Skylake" and "Kabylake".
- 5th Generation Intel Atom Processors "Broxten" or "Apollolake".
OpenCL 2.0
From release v1.3.0, beignet support OpenCL 2.0. By default, OpenCL 2.0 support is disabled, you can enable it when cmake with option -DENABLE_OPENCL_20=1. Please remember that to enable OpenCL 2.0, there are some dependencies. First, OpenCL 2.0 only support the targets from Skylake, include Skylake, Kabylake and Apollolake. Then, clang supports all OpenCL 2.0 feature from 3.9. So to enable OpenCL 2.0, you must update LLVM/clang to 3.9 or later. And also requeires libdrm at least 2.4.66. After enable OpenCL 2.0, beignet complies with OpenCL 2.0 spec, but some OpenCL 2.0 features are simulated by software, there is no performance gain, such as pipe and device queues, especially device queues. If you build beignet with OpenCL 2.0 enabled and your kernel don't use the OpenCL 2.0 features, please pass a build option -cl-std=CL1.2 for performance, the OpenCL 2.0 uses more registers and has lots of int64 operations, which may hurt performance, and beignet will continue to improve OpenCL 2.0 performance.
Known Issues
GPU hang issues. To check whether GPU hang, you could execute dmesg and check whether it has the following message:
[17909.175965] [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed.
If it does, there was a GPU hang. Usually, this means something wrong in the kernel, as it indicates the OCL kernel hasn't finished for about 6 seconds or even more. If you think the OCL kernel does need to run that long and have confidence with the kernel, you could disable the linux kernel driver's hang check feature to fix this hang issue. Just invoke the following command on Ubuntu system:
But this command is a little bit dangerous, as if your kernel really hangs, then the GPU will lock up forever until a reboot.
"Beignet: self-test failed" and almost all unit tests fail. Linux 3.15 and 3.16 (commits f0a346b to c9224fa) enable the register whitelist by default but miss some registers needed for Beignet.
This can be fixed by upgrading Linux, or by disabling the whitelist:
"Beignet: self-test failed" and 15-30 unit tests fail on 4th Generation (Haswell) hardware. On Haswell, shared local memory (__local) does not work at all on Linux <= 4.0, and requires the i915.enable_ppgtt=2 boot parameter on Linux 4.1.
This is fixed in Linux 4.2; older versions can be fixed with this patch.
If you do not need __local, you can override the self-test with
but using __local after this may silently give wrong results.
Precision issue. Currently Gen does not provide native support of high precision math functions required by OpenCL. We provide a software version to achieve high precision, which you can turn off through
This loses some precision but gains performance.
cl_khr_gl_sharing. This extension highly depends on mesa support. It seems that mesa would not provide such type of extensions, we may have to hack with mesa source code to support this extension. This feature used to work with a previous mesa git version. But now, it's simply broken.
Project repository
The team
- Song, Ruiling
- He, Junyan
- Luo, Xionghu
- Wen, Chuanbo
- Guo, Yejun
- Pan, Xiuli
If I missed any other package maintainers, please feel free to contact the mail list.
Команда Ubuntu представила релиз дистрибутива на базе Ubuntu с названием Ubuntu JeOS. Дистрибутив отличается маленьким размером (.iso - 151Mb) и предназначен для использования в среде виртуальных окружений.
"Canoncial подготовила надежную базу для виртуализации, основанную на Ubuntu JeOS. Она отлично оптимизирована для запуска приложений в виртуальной среде.", - сказал Дан Чу (Dan Chu), вице-президент VMware.
Что-то Canoncial затевает, то идет на рынок серверов, то создает какие-то мелкие дистрибутивы
>>>Она отлично оптимизирована для запуска приложений в виртуальной среде.
Это как ? Не будет тормозить в VMWARE ?
Они видимо решили убить одним выстрелом даже не двух зайцев, а вообще всех зайцев на планете O_o Есть сомнения в успешности этой мегакампании. Но удачи :)
>Не будет тормозить в VMWARE ?
Всё бы обругать вам. Хорошая идея. Какая реализация - надо смотреть. Да и проще потом допиливать под свои цели.
151 MB ? маленький дистрибутив ?)
Ubuntu похоже заразилась от Google идей захватить мир :)
P.S. Так и видится заголовок новостей 2027 года Ubugoole захватил таки мир. Возрадуйтесь и бойтесь. :)
Вот так всегда. Лично мне он абсолютно не нужен. А вот от аналогичной по размерам Висты не отказался бы - поставил бы туда драйвер принтера, он бы спокойно висел в оперативе, много не занимал, никому не мешал. А ставить целую ОС от МС на виртуалку ради одного принтера. Ублюдки.
А смысл? Все-равно приложения надо тестировать на Supported OSes. А не на клонах..
> Что-то Canoncial затевает, то идет на рынок серверов, то создает какие-то мелкие дистрибутивы
убунту заховывает мир? ужас нах
> Они видимо решили убить одним выстрелом даже не двух зайцев, а вообще всех зайцев на планете O_o Есть сомнения в успешности этой мегакампании. Но удачи :)
И точно, Canoncial решил ублажить все пользоватлей мира разом. А успешность уже на лицо: Ubuntu на расхват среди простых юзеров, Ubuntu Server того и гляди пойдет стройными рядами в enterprise сектор.
Так что думаю скоро "Linux дистрибютив" станет синонимом Ubuntu :)
>Так что думаю скоро "Linux дистрибютив" станет синонимом Ubuntu :)
> Так что думаю скоро "Linux дистрибютив" станет синонимом Ubuntu :)
Только не забывайте, что убунту жива до тех пор, пока жив Debian ;)
>отлично оптимизирована для запуска приложений в виртуальной среде
в чём заключается оптимизация? О_о
Причины наездов на Убунту? Может быть Canonical зажимает бинарники как RedHat, Mandriva и тд? Просит ввести серийник как RHEL? Кормит народ сырыми (Fedora) и тормозными (OpenSuse) дистрибутивами?
Что нужно людям? Бесплатный дистрибутив (надёжный,быстрый и функциональный). Так вместо ругани лучше помогите им этого достичь. Debian - замечательно. Но большинству пользователей он ненравится (или их не убедили поставить именно его). Так пусть будет Убунту в качестве паровоза для локомотива.
Не совсем. Лишь до дех пор пока ubuntu не наберет критическую массу пакетеров.
дистрибутив реально приближает вендокапец, а они недовольны :))
> Что нужно людям? Бесплатный дистрибутив (надёжный,быстрый и функциональный)
Насчет надежности/стабильности Ubuntu можно долго спорить. Критерии же функциональности каждый определяет сам.
> дистрибутив реально приближает вендокапец
Мне ксубунта нравится, а остальное от лукавого. Возможности по настройке под себя у всех одинаковые, набор софта тоже. О чём спор? Массовое распространение убунты поднял рейтинги дебиана, а это здорово.
Обещали еще media server. И где?
Поддержка Xen в ubuntu слабовата. В 7.04 версия xen без поддержки аппаратной виртуализации. В 7.10 при виртуализации Windows на ядре 2.6.22 вся система вылетает в kernel panic.
Хорошая новость. Можно будет использовать сабж в проектах встраиваемых устройств.
Правильно ли я понимаю, что JeOS оптимально использовать на старых компах?
крута, домой приду - скачаю. интересно таки на бубунту глянуть, хоть на такую :)
уебунту ничего такое, да. почти юзер-френдли, хоть и глюковастенько. но лично у меня Debian уже лет как 5 рулит во все рули. не вижу смысла менять шило на мыло. и тут хор гентушников грянул.
> собирался на следующей неделе перекомпилировать ядро - оптимизировать под вмваре.
с этого вот места как можно более подробно. что и как ты собирался оптимизировать под VMware? а-то для меня, видишь ли, всё что нужно это VMware Tools - apt-get install linux-headers `uname -r` build-essential и потом без бубнов-плясок всё прекрасно собирается и работает без всякой перекомпиляции.
впрочем я так понимаю, ключевые слова это "собирался на следующей неделе". остальное бла-бла-бла
>что и как ты собирался оптимизировать под VMware?
конкретно не знаю, ключевые слова угадал. Я ядро ни разу не перекомпилировал, и хотел посмотреть как оно там устроено и чего там можно убрать лишнего, что мне 100% под вмваре не понадобиться, типа поддержки "левых" устройств.( чтобы CPU поменьше ело и по размеру поменьше было.) А появлением линка на jeOS мотивации так трахаться с перекомпиляцией убавилось.
либо у меня с руками чего, либо с сабджем. после начальной установки и перезагрузки зависает с одной оранжевой щепкой в init splash на пару минут, затем высвечивая BusyBox (initramfs). запускал в VMware Workstation ACE Edition 6.0.2 build 59824 на венде-капец 2003 Server, т.к. VMware Server после 2-х лет использования на Linux больше использовать не стану никогда. вот тебе и нравственность уебунту с заботой о людях. думаю кривой initrd. либо конфиг груба во время установки на VMware SCSI диск - частые вилы. не копал ещё.
Читайте также: