Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 284 сообщений
Cообщения с меткой

llvm - Самое интересное в блогах

Следующие 30  »
rss_habr

Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ

Суббота, 28 Января 2023 г. 17:38 (ссылка)

Это первая статья из цикла о том, как создать свой собственный ООП язык программирования с использованием LLVM.

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

Читать далее

https://habr.com/ru/post/713434/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713434

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Пишем кастомные CUDA-ядра на Triton

Среда, 30 Ноября 2022 г. 11:01 (ссылка)

image



Triton – это языковой компилятор для создания сильно оптимизированных ядер CUDA. Здесь будут изложены основы программирования для GPU и рассказано, как для этой цели используется Triton.



Учитывая нынешний успех глубокого обучения и вал исследовательских статей на эту тему, часто возникает такая ситуация: рождается какая-нибудь новая идея, и выясняется, что для нее не поддерживается аппаратное ускорение. Точнее, стоит вам изобрести новую функцию активации или механизм самовнимания – нам сразу приходится прибегать к возможностям PyTorch/Tensorflow для обработки прямого и обратного прохода через модуль.



В таких случаях применим, например, PyTorch JIT. Но PyTorch JIT – это высокоуровневый компилятор, способный оптимизировать лишь некоторые части кода, но непригодный для написания специализированных ядер CUDA.
Читать дальше →

https://habr.com/ru/post/702298/?utm_source=habrahabr&utm_medium=rss&utm_campaign=702298

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Примеры ошибок, которые может обнаружить PVS-Studio в коде LLVM 15.0

Вторник, 25 Октября 2022 г. 18:04 (ссылка)

PVS-Studio: потому, что могу

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

Читать дальше →

https://habr.com/ru/post/695426/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695426

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Cнова про llvm

Вторник, 04 Октября 2022 г. 18:25 (ссылка)

Исследования любого приложения достаточно рутинный и длительный процесс. Без использования инструментов и автоматизации разобрать даже самые простые алгоритмы написанные на некоторых языках программирования практически невозможно. (Go рантайм без символов). Справиться с этой тяжелой задачей и предоставить набор инструментов могут следующие приложения:

- Hopper
- IDA Pro
- Ghidra
- radare2
- rizin

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

Читать далее

https://habr.com/ru/post/691522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=691522

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Боремся с 16-летним легаси-кодом, или исправляем C и C++ front-end в PVS-Studio

Четверг, 22 Сентября 2022 г. 17:42 (ссылка)

В 2022 году статическому анализатору PVS-Studio для языков C и C++ исполняется 16 лет. Если бы анализатор был человеком, то он бы уже заканчивал школу. Это очень старый проект, и система типов в нем не потерпела кардинальных изменений практически с самого начала. В этой статье мы посмотрим, как работал анализатор всё это время и расскажем, что было не так, и как мы начали это исправлять.

Читать далее

https://habr.com/ru/post/689686/?utm_source=habrahabr&utm_medium=rss&utm_campaign=689686

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

История одного перехода с gcc на clang

Понедельник, 15 Августа 2022 г. 18:52 (ссылка)





На прошлой неделе, после нескольких месяцев разработки, вышла очередная версия языка программирования NewLang. Одной из технических особенностей данного релиза является переход на использования компилятора clang вместо gcc.



Данная статья описывает причины смены компилятора, некоторые особенности этого процесса, проблемы, которые приходилось решать и итоговые выводы.



Автор надеется, что эта информация может оказаться полезной и позволит сэкономить кучу времени, если заранее знать некоторые подводные камни, а так же положительные стороны от перехода на clang.
Читать дальше →

https://habr.com/ru/post/682324/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682324

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Запускаем Julia на Arduino

Среда, 29 Июня 2022 г. 16:00 (ссылка)



У меня нет особого опыта работы с микроконтроллерами. Раньше я немного экспериментировал с Arduino, а главной точкой входа моей домашней сети является Raspberry Pi, но на этом мой недавний опыт заканчивается. Я прошёл один курс по микроконтроллерам несколько лет назад, и справлялся с ним ужасно, едва набрав проходной балл. Тем не менее они меня восхищают — это устройства с низким энергопотреблением, которые можно запрограммировать выполнять практически любые операции, если быть аккуратным с управлением ресурсами и не стрелять себе в ногу.



При обсуждении Julia всегда подразумевается обязательное наличие двух аспектов: среды исполнения и сборщика мусора. Чаще всего оптимизация Julia (да и любого другого кода) сводится к двум аспектам:




  1. минимизация времени, потраченного на выполнение кода, который вы не писали,

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



Требование 1 сводится к принципу «не обменивайтесь информацией со средой исполнения и GC, если это необязательно», а требование 2 — к принципу «убедитесь, что не выполняется ненужный код, например, интерпретатор», то есть статически компилируйте свой код и по возможности избегайте динамичности.
Читать дальше →

https://habr.com/ru/post/673992/?utm_source=habrahabr&utm_medium=rss&utm_campaign=673992

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Меняем std::sort для Google

Понедельник, 25 Апреля 2022 г. 09:15 (ссылка)

image


Мы меняем std::sort в библиотеке libcxx проекта LLVM. В этой статье мы подробно расскажем о том, как мы пришли к этому решению и какими будут возможные последствия, о багах, с которыми вы можете столкнуться в примерах из open source. Мы покажем несколько бенчмарков, объясним, почему вообще это сделали и чего это нам стоило, на примерах закона Хайрама и обучения с подкреплением. Все изменения выложены в open source, поэтому я свободно могу о них рассказывать.



Эта статья разделена на три части. Первая — это подробная история недавнего прошлого сортировки в стандартных библиотеках C++. Вторая расскажет об усилиях, необходимых для перехода от одного алгоритма сортировки к другому с различными багами. В третьей мы объясним выбранную нами реализацию и все внесённые нами оптимизации.

Читать дальше →

https://habr.com/ru/post/662181/?utm_source=habrahabr&utm_medium=rss&utm_campaign=662181

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<llvm - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda