Как стать автором
Обновить
579.86
YADRO
Тут про железо и инженерную культуру
Сначала показывать

Первый питерский митап по Go в этом сезоне: построим PaaS без хардкода и научимся отлаживать приложение в проде

Время на прочтение2 мин
Количество просмотров932

25 сентября в 19:00 инженеры из YADRO и AvitoTech расскажут, как подготовить CEL в конфиге, тестировать с Ginkgo/Gomega и аккуратно отлаживать сервис в проде.

Если придете на митап офлайн, сможете полюбоваться «железом» для ЦОД и телеком-операторов, код для которого пишут Go-разработчики YADRO, и посетить выставку open source-инструментов из сообщества Go SPB. Регистрируйтесь, чтобы попасть на митап в Питере или получить ссылку на трансляцию, где можно будет задавать вопросы спикерам.

Читать далее
Всего голосов 10: ↑9 и ↓1+14
Комментарии0

Действительно ли большие языковые модели галлюцинируют? Эксперимент

Время на прочтение11 мин
Количество просмотров11K

Существует мнение, что основная проблема больших языковых моделей — в склонности к галлюцинациям. Когда нейросеть генерирует текст с информацией, не связанной с запросом.  

Меня зовут Полина, я инженер по разработке ПО искусственного интеллекта в YADRO. Вместе с коллегами я разрабатываю системы на базе генеративных моделей, в том числе вопросно-ответных ассистентов. В рамках одного из проектов мы вместе с экспертом команды Андреем Соколовым задались вопросом: действительно ли проблема галлюцинаций так актуальна для современных предобученных LLM в вопросно-ответном сценарии.

Для этого мы провели эксперимент на собранном датасете. Попутно рассказали про модели-трансформеры и дали строгое определение понятию «галлюцинации LLM». Все подробности — под катом.

Читать далее
Всего голосов 24: ↑24 и ↓0+34
Комментарии22

Проблемы поколений: история уязвимостей мобильных сетей от 1G до 5G

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров3.7K

Всем привет! Меня зовут Максим Башканков, я отвечаю за безопасность базовых станций в YADRO, поэтому как никто представляю, что будет, если даже у одного оператора пропадет связь. Первая задача, которую решает безопасность — это обеспечить доступность мобильной связи, потому что для операторов на первом месте стоит надежность и стабильность работы. Вторая задача, которая стоит перед безопасниками — обеспечение защиты данных пользователей мобильных сетей.

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

Читать далее
Всего голосов 14: ↑14 и ↓0+20
Комментарии2

Вирт, Кормен и диалекты Basic: что изучить про алгоритмы и структуры данных разработчикам на С++

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4K

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

Статьи, лекции и курсы из подборки помогут опытным специалистам «вспомнить все» перед собеседованием или погрузиться в тему алгоритмов, если вы пока в ней не сильны. 

Читать далее
Всего голосов 12: ↑12 и ↓0+16
Комментарии5

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

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров48K

Недавно в комментариях к тексту про построение личной базы знаний на Хабре читатель отметил, что в таких статьях не хватает примеров работы с техническими данными. Давайте это исправим. Мы спросили у инженеров YADRO и технарей из сообщества «Цеттелькастен и Персональные базы знаний», как и для чего они ведут свои заметки.  Герои статьи используют Obsidian и Emacs, а также личные Telegram-каналы, чтобы изучать новые языки программирования, проходить технические собеседования и вести рабочие записи.

Для тех, кто пока не знаком с методом социолога Никласа Лумана, в начале статьи рассказали об истории Цеттелькастена и показали, как выглядело хранилище данных полвека назад. Короб с ящиками и карточками стал прототипом современных систем для ведения заметок, которыми пользуются инженеры. 

Читать далее
Всего голосов 45: ↑42 и ↓3+55
Комментарии37

Математика матричных расширений: как происходит умножение матриц на примере T-Head Matrix Extension

Время на прочтение13 мин
Количество просмотров8.4K

Привет, Хабр! Я Андрей Соколов, инженер-программист в группе разработки математических библиотек. Месяц назад моя коллега Валерия запустила цикл статей про матричные расширения, ускоряющие операции над матрицами. Вы уже смогли узнать, что они делают и какие существуют, какие из них разрабатываются для открытой архитектуры RISC-V.

В заключительной статье цикла разберем пример использования матричного расширения T-Head под RISC-V для реализации алгоритма матричного умножения. Сначала кратко рассмотрим наивную скалярную реализацию и блочный вариант алгоритма. Затем реализуем аналогичный вариант с использованием матричного расширения — как для квадратных матриц, так и матриц произвольного размера. Второй случай интересен тем, что возникает необходимость обработки так называемых «хвостов» — блоков неправильной конфигурации. В заключение немного расскажу, какие идеи можно использовать для дальнейшей оптимизации матричного умножения, и поделюсь полезными ссылками.

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

Читать далее
Всего голосов 26: ↑26 и ↓0+37
Комментарии8

Лучшие доклады последних FPGA-Systems: от выбора стратегии верификации до Quake 2 на RISC-V

Время на прочтение3 мин
Количество просмотров3.3K

Привет, Хабр! Пришло время поделиться самыми интересными докладами с конференций FPGA-Systems 2024.1, по мнению их участников. Под катом вас ждут топ-10 ошибок FPGA-инженеров, история о запуске Quake 2 на RISC-V, рассказ о новом высокоуровневом языке описания аппаратуры и несколько выступлений про укрощение сложностей верификации.

Читать далее
Всего голосов 14: ↑14 и ↓0+21
Комментарии0

Погружение в матрицу: расширение RISC-V от T-Head

Время на прочтение17 мин
Количество просмотров2.3K

Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. 

Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе.

А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным.

Начать погружение
Всего голосов 24: ↑24 и ↓0+31
Комментарии3

Самый быстрый фреймворк на Диком Западе: ускоряем Django-rest-framework вместе с Rust

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров7.1K

Всем привет! Меня зовут Роман Кабаев, я инженер в отделе разработки инструментов тестирования компании YADRO. Вместе с коллегами мы разрабатываем собственную тест-менеджмент систему с открытым исходным кодом TestY.

На этапе запуска TestY в качестве фреймворка для разработки мы выбрали Django, так как он позволяет в максимально короткие сроки реализовать MVP. Однако развивать такой продукт — добавлять фичи, наращивать число пользователей и объем хранимых данных в системе — бывает сложно.

Мы действительно быстро запустили MVP, перевезли данные из TestRail с помощью плагинов, и команды тестирования YADRO уже более года пользуются системой. Но есть одно «но»: пользовательские сценарии разных команд сильно отличаются. Так, добавление в систему более полумиллиона тестов привело к просадке скорости работы определенных эндпоинтов, завязанных на древовидных структурах. 

Спойлер: камнем преткновения для нас стали CPU-bound задачи с большим количеством данных, о том, как я это выяснил, расскажу ниже. Изучив, как можно ускорить выполнение таких задач в Python, я протестировал несколько решений и нашел оптимальное. Если вы разрабатываете веб-приложение на Django или Python и так же, как я, хотите ускорить работу сервиса, читайте эту статью.

Читать далее
Всего голосов 22: ↑22 и ↓0+28
Комментарии17

Открытый онлайн-курс по цифровой схемотехнике: от истоков до первого устройства

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K

Привет, Хабр! У нас новости. Мы запустили онлайн-курс по цифровой схемотехнике для начинающих. Он подойдет всем, кому интересно собрать из простых компонентов готовое устройство на макетной плате и узнать больше о «внутренностях» электроники. Присоединяйтесь сами или рассмотрите курс для совместного досуга с ребенком, младшим братом или сестрой. Возможно, кому-то он поможет не только найти новое занимательное хобби, но и определиться с будущей профессией.

Всего в курсе 11 практических роликов с подробными теоретическими материалами к каждому. Будем не просто смотреть на картинки с электрическими схемами, а проводить эксперименты своими руками. Начнем с истоков: познакомимся с оборудованием и линейными электронными компонентами, а закончим сборкой секундомера с применением микросхем цифровой логики. Все подробности — на странице курса и под катом.

Читать далее
Всего голосов 58: ↑57 и ↓1+72
Комментарии23

Заглянем в хрустальный шар: как продвигается разработка стандартных матричных расширений RISC-V

Время на прочтение10 мин
Количество просмотров3.9K

Привет, Хабр! В предыдущем тексте мы рассмотрели все существующие матричные расширения. Возникает вопрос: ждать ли в ближайшее время новых расширений для матричных операций? Ответ — да, они разрабатываются прямо сейчас для архитектуры RISC-V. Новость может вызвать удивление, ведь в обзоре уже есть целых два матричных расширения RISC-V. Но оба эти расширения — кастомные, и, конечно же, в консорциуме RISC-V International задумались о разработке стандартного решения. 

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

Читать далее
Всего голосов 39: ↑38 и ↓1+50
Комментарии9

Итеративная сборка FPGA-проектов

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.2K

Всем привет! Я Константин Павлов, старший инженер по разработке систем на кристалле. Работаю в группе прототипирования в компании YADRO, занимаюсь отладкой на ПЛИС исходного кода, который затем будет работать в ASIC.

В статье я расскажу об итеративной (многократной) сборке проектов ПЛИС. Зачем она нужна и какими способами — вендорскими и самописными — ее возможно реализовать. А еще на примерах из практики покажу, каких впечатляющих результатов можно добиться, используя итеративную сборку.

Читать далее
Всего голосов 12: ↑12 и ↓0+18
Комментарии26

Панорама матричных расширений: от x86 до RISC-V

Время на прочтение15 мин
Количество просмотров8.8K

Матричное расширение ISA CPU… Что это и что оно делает? Уже из названия понятно, что это расширение позволяет ускорять операции над матрицами на CPU. Но задумывались ли вы когда-нибудь, какие они бывают, когда появились, кто и как их создает?

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

Матричные расширения появились не так давно — чуть более трех лет назад. Несмотря на это, они есть у каждой уважающей себя процессорной архитектуры, в том числе и у относительно молодой открытой RISC-V. Почему их так много и чем они отличаются? Поддерживаются ли разреженные матрицы? Об этом и многом другом вы узнаете из статьи. Приготовьтесь, будет интересно и (спойлер!) без многоэтажных формул. 

Читать далее
Всего голосов 63: ↑62 и ↓1+78
Комментарии38

Docker для Angular-приложений: от простого к несложному

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров5.5K

Привет, Хабр! Меня зовут Артём, я разрабатываю фронтенд систем управления сетью в YADRO. С Docker знаком давно и часто его использую. Но когда столкнулся с задачами, где недостаточно просто скопировать шаблонный Docker-файл и подправить пару строчек, решил больше погрузиться в эту тему. 

В статье я разберу типовые вопросы, связанные с запуском Angular-приложений в контейнерах, — это поможет в дальнейшем справиться с более замысловатыми задачами. Текст будет полезен тем, кто уже что-то знает про Docker, но не углублялся в детали или хочет освежить знания на практике.

Читать далее
Всего голосов 18: ↑17 и ↓1+18
Комментарии4

No fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-V

Время на прочтение22 мин
Количество просмотров3.8K

Открытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и готовы использовать ее в продакшене, создается программный стек для высокопроизводительных вычислений — RISC-V HPC (High Performance Computing). Прогресс сопровождает формирование нового тренда — OpenHPC. Он заключается в технологической независимости от решений коммерческих компаний. Причем это относится не только к ПО, но и к железу. 

Чтобы концепция OpenHPC реализовывалась быстрее, нужно, чтобы к инициативе присоединилось как можно больше компаний, помогающих в развитии экосистемы решений для RISC-V HPC. Меня зовут Андрей Соколов, я инженер-программист в компании YADRO. В R&D-команде мы поставили перед собой задачу: изучить, как можно поддержать архитектуру RISC-V со стороны библиотек линейной алгебры BLAS и LAPACK. Тестирование одной из open source-библиотек привело нас к интересным открытиям, о которых я расскажу под катом. 

Результаты тестов
Всего голосов 43: ↑42 и ↓1+53
Комментарии4

Ролевая модель и интеграция c Jira: что изменилось в системе для управления тестами, которая доступна всем

Время на прочтение6 мин
Количество просмотров1.1K

В конце прошлого года мы представили TestY, тест-менеджмент систему с открытым исходным кодом, которую разработала команда YADRO на замену TestRail.

Сегодня на связи я, Александр Зырянов, QA-менеджер в департаменте контроля качества YADRO и проектный менеджер TMS TestY. После первого текста о нашей системе вы обращались к нам с вопросами и пожеланиями. Некоторые предложения мы уже планировали в новый релиз, но были и те, что мы взяли в работу именно благодаря вашей обратной связи. В этой статье расскажу о фичах, вышедших в релизе 1.3, и отвечу на вопросы о TestY в комментариях.

Читать далее
Всего голосов 6: ↑6 и ↓0+12
Комментарии2

Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.6K

Привет, Хабр! Меня зовут Александр Лырчиков, я разрабатываю систему хранения данных TATLIN.UNIFIED в YADRO. СХД — сложная система, и, если при работе произошла ошибка, она должна своевременно и понятно сообщать пользователю об этом. В большинстве веб-сервисов для этого используют баннер с надписью «Что-то пошло не так», но такой способ уведомления нам не подходит.

Мы столкнулись с проблемой, когда переданных сообщений и HTTP-кодов уже не хватает. Поэтому разработали собственный инструмент для обработки ошибок Terror (TATLIN + error). В результате работа с кодом стала проще, мы получили красивый API, а пользователи — понятное описание ошибки и локализацию текста на разные языки. В этой статье расскажу, как мы создавали Terror, чтобы вы смогли повторить решение.

Читать статью
Всего голосов 8: ↑8 и ↓0+10
Комментарии0

В далекой-далекой Galaxy: как организовать общее пространство для Ansible-контента

Время на прочтение17 мин
Количество просмотров3.4K

Привет! Меня зовут Павел, я DevOps-инженер в YADRO. Где бы я ни работал, я был девопсом и использовал Ansible — где-то активнее, где-то меньше. В YADRO с этим инструментом работают почти все департаменты — от enterprise, где разрабатывают серверы, СХД и другое оборудование, до телекома. 

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

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

Полетели
Всего голосов 10: ↑9 и ↓1+10
Комментарии0

От и Go: доклады для гоферов про инструменты для фаззинга, kuber-кластер на Go и не только

Время на прочтение3 мин
Количество просмотров2.6K

Бывает, перед инженерами встает выбор: использовать существующее open source-решение задачи или написать свое. И часто, изучив все возможные опции, разработчики предпочитают второй вариант.

Большинство докладов в нашей подборке — инструкции по созданию кастомных решений, которые инженеры и разработчики из YADRO, Avito Tech, Ozon Fintech и других технологических компаний уже опробовали в собственных продуктах. Если вашей команде не хватает инструмента для фаззинга или обработки ошибок на Go — можете сделать их по примерам, которые представили инженеры в выступлениях и презентациях.

Зайти в Go-портал
Всего голосов 7: ↑6 и ↓1+7
Комментарии0

Где увидеть косимуляцию в «железе» и RFSoC FPGA своими глазами?

Время на прочтение3 мин
Количество просмотров3.2K

Уже в эту субботу, 25 мая, в Санкт-Петербурге состоится ежегодная конференция FPGA-Systems 2024.1. Еще есть возможность присоединиться офлайн: не только послушать доклады про организацию верификации, ошибки FPGA-специалистов и пообщаться с коллегами, но и посмотреть на любопытные стенды, подготовленные инженерами. Один из них — «черный ящик» на КДПВ, в нем — симбиоз трех симуляторов для моделирования систем на кристалле. Что внутри — читайте под катом. 

А еще — раскрываем тайну, кто будет приглашенным спикером московской FPGA-Systems, которая пройдет 1 июня, вслед за первой конференцией.

Читать далее
Всего голосов 13: ↑11 и ↓2+16
Комментарии0

Информация

Сайт
yadro.com
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Ульяна Малышева