The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Проект по созданию открытого компилятора для Qualcomm Hexago..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от opennews (??) on 22-Апр-18, 22:52 
Георг Готз (George Hotz), получивший известность разработкой способов обхода ограничений на установку дополнительного ПО на iPhone и Sony PlayStation 3, основал (https://github.com/geohot/openhexagon) проект по разработке открытого компилятора и инструментария для современных DSP Hexagon (https://en.wikipedia.org/wiki/Qualcomm_Hexagon), поставляемых в SoC  Snapdragon компании Qualcomm. Для старых моделей Hexagon V4 и V5 доступен (https://sourcery.mentor.com/GNUToolchain/release2800?@t...) открытый инструментарий на базе GCC, но для новых серий Hexagon V60 поставляется только проприетарный Hexagon DSP SDK (https://developer.qualcomm.com/software/hexagon-dsp-sdk), основанный на LLVM (в LLVM 6.0 имеется (https://releases.llvm.org/6.0.0/docs/ReleaseNotes.html#chang...) штатный бэкенд (https://github.com/llvm-mirror/llvm/blob/master/lib/Target/H.../) с поддержкой v60, v62 и v65).

URL: https://github.com/geohot/openhexagon
Новость: https://www.opennet.ru/opennews/art.shtml?num=48476

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +7 +/
Сообщение от Аноним (??) on 22-Апр-18, 22:52 
>основанный на LLVM

Пермиссивные лицензии просто замечательны.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –7 +/
Сообщение от llvm on 23-Апр-18, 00:23 
угу - поэтому у нас есть (open source, между прочим) кодогенератор для этих dsp, а вы тратьте свое время на reverse engineering того, что нафиг никому не упало.

(у нас нет opensource версии линкера и рантайма - lld такое не умеет, но мы вполне счастливы не получать ненужных знаний и не поддерживать еще и в нем такую возможность, у нас есть чем заняться)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

14. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +6 +/
Сообщение от Аноним (??) on 23-Апр-18, 09:48 
> у нас есть чем заняться

типа комменты на опеннете строчить?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

25. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –2 +/
Сообщение от Аноним (??) on 24-Апр-18, 02:59 
>  угу - поэтому у нас есть (open source, между прочим) кодогенератор для этих dsp

А в новости кое-что другое утверждается.

> только проприетарный Hexagon DSP SDK, основанный на LLVM

Собственно причина по которой LLVM тулчейнов следует избегать - никогда не знаешь когда тебя кинут.

> (у нас нет opensource версии линкера и рантайма

Мозгов у фанов BSDL нет - нахваливают всяких имельцев.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

29. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +1 +/
Сообщение от Аноним (??) on 25-Апр-18, 10:55 
чукча не читатель?

>в LLVM 6.0 имеется штатный бэкенд генерации кода с поддержкой v60, v62 и v65, но отсутствует runtime и компоновщик

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

30. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от llvm on 26-Апр-18, 15:21 
тот чукча читатель, но непониматель - ни что такое "SDK", ни что этот самый бэкэнд он и использует, вместе со всем остальным llvm.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

13. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –1 +/
Сообщение от Аноним (??) on 23-Апр-18, 09:42 
Забыл тег сарказм.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

21. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 23-Апр-18, 13:11 
А вот у благородных англичан по дефолту включен этот тег!
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

2. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –1 +/
Сообщение от Сергей (??) on 22-Апр-18, 23:40 
Что это за процессор, зачем он нужен, какая архитектура, первый раз о нем слышу, и мало что понятно, можно, пожалуйста, подробностей?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +12 +/
Сообщение от Аноним (??) on 23-Апр-18, 00:56 
VLIW процессор, старые версии не поддерживали (но это не точно) целочисленные вычисления. В современных системах Qualcomm два таких процессора. На одном из них работает код модема. Другой предназначен для приложений. Обычно, правда, неподписанные приложения он не выполняет.

Самое известное приложение - Google Camera, в которой алгоритмы (склейка панорам, HDR) реализованы для этого процессора. На телефонах, где этот сопроцессор доступен (старшая серия Snapdragon), Google Camera поддерживает режим HDR+, когда одна картинка делается из восьми фото, в итоге без засветов на ярком солнце, и хорошо работает на контрастных сценах ночью. На остальных обычно используется от четырёх до шести кадров, и надо ждать несколько секунд, пока обработается.

Зачем он нужен - интересный вопрос. У Qualcomm очень быстрый GPU, и если выкинуть DSP и поставить туда дополнительный L2 кэш - можно и на CPU получить достаточную производительность для обработки картинок. Вероятно, развивают по принципу "ну раз уж сделали - не выкидывать же теперь".

Подробности, в принципе, на официальном сайте доступны.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 23-Апр-18, 02:13 
> Обычно, правда, неподписанные приложения он не выполняет.

Анон, брат, уточни немного как здесь устроено. Или кинь ссылкой где почитать.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +7 +/
Сообщение от Аноним (??) on 23-Апр-18, 04:08 
https://www.qualcomm.com/news/onq/2017/01/17/secure-boot-and...

В теории - код в TrustZone проверяет подпись программы для DSP. По хорошему, он должен сначала замапить эту память, как недоступную для изменения со стороны Linux Kernel, чтобы после проверки подписи нельзя было подменить её.

Патч от GeoHot патчит кое-что, не связанное с этим - в программе-загрузчике для DSP убирает проверку на тестовый режим, что отключает дальнейшую проверку подписей. А вот почему это вообще возможно - непонятно. Сама программа-загрузчик должна быть подписана, и подпись не совпадёт после патча. Скорее всего, на устройстве, которое он использовал (OnePlus что-то?) проверка подписей отключена в принципе. Или ой.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

26. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 24-Апр-18, 03:02 
> В теории - код в TrustZone проверяет подпись программы для DSP. По
> хорошему, он должен сначала замапить эту память, как недоступную для изменения
> со стороны Linux Kernel,

А что квалкому мешает просто проверять подпись kernel и грузить только kernel которые ведут себя правильно? Это слишком просто и логично было?

Впрочем, снос цифровых загородок от квалкома это вообще фича а не баг.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –2 +/
Сообщение от inferrna (ok) on 23-Апр-18, 08:26 
Писать конпелятор для мультимедиа сопроцессора, который суть есть числодробилка  - зачем? NetBSD на нём запускать? Лучше бы нашёлся кто бы под него (да и не тольк под него) открытый hdr алгоритм написал уровня gcam.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +1 +/
Сообщение от пох on 23-Апр-18, 08:55 
ты не поверишь - на нем (на старых версиях) можно (было, по крайней мере) запустить линукс (ведро, во всяком случае).
(зачем - а хз. "патамушта магу!")

собственно, основная польза от компилятора в том, что прежде чем переваривать какие-то числа - надо банально суметь прочитать данные и потом их куда-то записать. А для этого нужна какая-никакая примитивная однозадачная операционная система. С поддержкой fs/взаимодействия с внешим миром хотя бы через serial, и т д. Писать ее на асме для dsp - так себе времяпровождение. Поэтому на ассемблерной вставке будет написан только собственно какой-нибудь бпф и то, вероятно, не весь.

> кто бы под него (да и не тольк под него) открытый hdr алгоритм написал уровня gcam.

пиши, кто тебе не дает?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

18. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –3 +/
Сообщение от inferrna (ok) on 23-Апр-18, 10:08 
> нужна какая-никакая примитивная однозадачная операционная система

из педивикии:
> Both Hexagon (QDSP6) and pre-Hexagon (QDSP5) cores are used in modern Qualcomm SoCs

там, на этих SoCs, ажно целый многозадачный ведроид запускается, зачем что-то ещё городить? Есть закрытый конпелятор для некой архитектуры, которая, не факт, что не устареет через год-два - нафига тратить время на реверсинг конпелятора под неё? Я ещё понимаю, писать реализацию OpenCL для r600 - всё-таки она крутится у юзеров прямо в рантайме. Но этот-то - нужен только девелоперам: раз сконпелировал и забыл, работать будет у всех. Единственный смысл - если старые версии проприетарного конпелятора не поддерживают новые ведроиды, а новый не поддерживает старое железо, а очень хочется новое на старом - и то теряется после выхода Oreo.
> пиши, кто тебе не дает?

Занят. А тут, судя по новости, кому-то заняться явно не чем.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

27. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от пох on 24-Апр-18, 14:57 
> там, на этих SoCs, ажно целый многозадачный ведроид запускается, зачем что-то ещё городить?

срочно высылай cv в квалком - возможно, им нужен ты, в качестве эффективного менеджера, который лучше них знает, что городить.
А так - в некоторых soc их аж три. (правда, только один доступен извне)

ведроиды тут совершенно ни с какого боку, компилятор не на них запускается, и результат компилежа тоже, они с ним только через (аппаратный) интерфейс контактируют.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

15. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 23-Апр-18, 09:52 
>Писать конпелятор для мультимедиа сопроцессора, который суть есть числодробилка  - зачем?
>Лучше бы нашёлся кто бы под него (да и не тольк под него) открытый hdr алгоритм написал

Чудак-человек, ну а этот самый открытый HDR как без конпелятора компелировать?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –1 +/
Сообщение от inferrna (ok) on 23-Апр-18, 09:54 
Закрытым конпелятором, который вполне себе доступен для скачивания.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +1 +/
Сообщение от Аноним (??) on 23-Апр-18, 09:57 
Нафига тогда тебе открытый алгоритм HDR, если привык блобъём пользоваться?
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  –2 +/
Сообщение от inferrna (ok) on 23-Апр-18, 10:12 
> Нафига тогда тебе открытый алгоритм HDR, если привык блобъём пользоваться?

Алгоритм - вещь универсальная, конпелятор - утилитарная. Написанный раз хдр алгоритм будет работать на множестве устройств и позволит копеечным сяоми снимать на уровне пикселя, будет постоянно совершенствоваться и останется в веках. Конпелятор лишь сделает чуть удобнее жизнь паре разработчиков, и то, лишь на год-два, пока квалком не выкатит новую версию DSP.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

28. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 25-Апр-18, 04:16 
> Алгоритм - вещь универсальная, конпелятор - утилитарная.

Однако без канпелятора алгоритм не сканпилишь, а когда проприетарная дрянь диктует архитектуру, версию либ и проч - это, извините, булшит и делает жизнь значительно менее удобной. Потому что вместо того чтобы писать алгоритм - приходится строиться под причуды каких-то пропертариев.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

20. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +1 +/
Сообщение от Аноним (??) on 23-Апр-18, 12:56 
нафига тебе компьютер - если ты привык блобъем в биосе пользоваться :)
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 23-Апр-18, 13:14 
Нафига тебе девка, если ты к мамкиной сиське привык

(Ставить "тире" вместо запятой - это ж каким надмозгом надо быть!)

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

24. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 23-Апр-18, 16:01 
Я в Биосе не работаю, не сподручно как-то. Предпочитаю в GNU/Linux + прикладное СПО
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

23. "Проект по созданию открытого компилятора для Qualcomm Hexago..."  +/
Сообщение от Аноним (??) on 23-Апр-18, 14:09 
Работает, но под каждый смартфон патч нужно менять (везде код разных версий), и работает только из командной строки - непонятно как сделать хук ioctl() из libc без LD_PRELOAD.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру