Как стать автором
Обновить
92
190.1

Компания YADRO

Отправить сообщение

Как убить самоорганизацию в команде: вредные советы для лидера

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

Привет, Хабр! Меня зовут Светлана Болсуновская, я стратегический коуч-консультант в YADRO. Многие компании перешли на гибридный формат работы, где команды нуждаются в особом подходе для поддержания самоорганизации — процесса, при котором люди выполняют задачи без постоянного контроля руководителя. Я поделюсь своими наблюдениями, почему в современных условиях самоорганизация не происходит «магически» и что должен (и не должен) делать тимлид, чтобы помочь команде достичь этой цели.

Читать далее
Всего голосов 34: ↑30 и ↓4+33
Комментарии41

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: сборка операционной системы

Уровень сложностиСложный
Время на прочтение25 мин
Количество просмотров2.4K

И снова здравствуй, Хабр! Мы добрались до второй части повествования о параллельном запуске двух ОС на FPGA с процессорной подсистемой. 

В этой статье мы сначала определим минимально необходимые компоненты для запуска Embedded Linux. Затем осуществим сборку под ARM стандартными инструментами производителя и под Soft-CPU «вручную». И наконец, подготовим загрузочный носитель, чтобы подойти во всеоружии к запуску и верификации проекта, которые ожидают нас в заключительной части цикла.

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

Quake 2 на нашем RISC-V, или как мы поднимали старый Radeon на FPGA

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

Всем привет! Меня зовут Александр Разинков, я разрабатываю системный софт в компании YADRO. В этом посте я расскажу о стресс-тестировании нашего RISC-V-кластера с помощью… Quake 2! Почему «квейк»? RISC-V активно развивается как основная application-платформа в мире, и игры — это хороший способ проверить возможности ядер, драйверов GPU и экосистемы в целом. В некоторых важных аспектах игры дают значительно большую нагрузку, чем стандартные программные тесты, особенно на память и интерконнект.

В ходе проекта мы получили отличный опыт работы с видеоподсистемой и графическим стеком Linux, которым стоит поделиться. Открыли для себя новую группу бенчмарков по графике и UX. Наконец, это первый на моей памяти запуск игр именно на российских ядрах RISC-V!

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

Компьютерное зрение на C++: пишем приложение для поиска объектов под Android

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

Привет, Хабр! Меня зовут Кирилл Колодяжный, я пишу код на С++ для систем хранения данных в YADRO. Помимо основной работы, интересуюсь машинным обучением и его возможностями, в том числе на «плюсах». Недавно мне стало интересно разобраться, как развернуть модель компьютерного зрения на мобильном устройстве с операционной системой Android.

 Я изучил доступные инструменты, чтобы понять, какие части приложения можно реализовать на С++, и написать само приложение для телефона. Ни в одном из материалов на подобную тему не описывают реализацию такого приложения от начала до конца, поэтому я собрал свой опыт в серию статей.

Расскажу, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4. Шаблон моего приложения пригодится тем, кто хочет проверить прототип функциональности для компьютерного зрения на С++, использующий OpenCV на Android, но не хочет глубоко погружаться в программирование под Android. 

В первой части цикла мы:

• создадим проект в IDE Android Studio,

• реализуем сессию непрерывного захвата изображений камеры,

• преобразуем изображения в матрицу OpenCV, чтобы сделать дальнейшую работу удобной.

Читать далее
Всего голосов 26: ↑25 и ↓1+29
Комментарии6

Ошибаться и учиться на реальных задачах: как студенты получают опыт работы с FPGA и процессорными ядрами

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

Пока одни студенты готовятся к сессии и сдают долги, другие разрабатывают системы на кристалле и тестируют клиентские устройства. Герои этой статьи — молодые инженеры, выпускники стажировки YADRO Импульс 2024. Два месяца они стажировались в компании, а затем получили предложения о работе и продолжили работу над начатыми проектами. 

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

Читать далее
Всего голосов 28: ↑26 и ↓2+30
Комментарии3

Голова на подушке, попкорн и песочные часы: какие дефекты можно встретить при рентген-контроле качества печатных узлов

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

Качество монтажа компонентов на печатной плате требует постоянного контроля. Пропущенный дефект может вылиться в брак итогового устройства — его некорректную работу или полное отсутствие «жизни». На современных производствах давно используют системы оптического контроля — AOI и SPI, но не всегда они применимы. Так, ими не проверить качество пайки внутренних выводов микросхем в BGA-корпусе или монтажа термопадов QFN-, QFP-корпусов. Для них используют рентген-контроль.

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

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

Вычисления на RISC-V: исследуем производительность OpenCL на CPU и совместимых GPU

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

Привет! Меня зовут Михаил Козлов, я инженер-стажер в группе разработки математических библиотек в YADRO. Эта сфера активно развивается на RISC-V: известные математические библиотеки, такие как OpenBLAS, Eigen и многие другие, портируют и оптимизируют под открытую архитектуру. Большой интерес представляет OpenCL — открытый стандарт разработки программного обеспечения для гетерогенных вычислений. Он используется во многих областях: HPC, AI/ML, AR/VR, линейной алгебре, где он наиболее широко представлен с помощью библиотек clBLAS и CLBlast. 

В линейной алгебре OpenCL наиболее широко представлен с помощью библиотек clBLAS и CLBlast. Первая — более старая, вторая — более современная, со встроенным тюнером для оптимизации под конкретное железо. Далее я расскажу о своем проекте с летней стажировки: исследовании производительности этих библиотек на GPU

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

Митап по Linux Kernel: про livepatching, работу с расширениями RISC-V и создание модуля ядра для memory extender

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

30 октября в 19:00 инженеры из YADRO и локальной Linux User группы откроют серию совместных митапов. Они поделятся опытом точечного обновления ядра Linux с помощью livepatching, расскажут о поддержке архитектуры и расширений RISC-V и про устройство подсистемы DMA.

Регистрируйтесь, чтобы забронировать место на площадке, — количество мест ограничено. Но для тех, кто не успеет, будет доступна трансляция в VK, YouTube или Rutube (также по регистрации) и открыт лист записи на следующие Linux-митапы.

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

Железо или архитектура? Два направления книг по схемотехнике для начинающих

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

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

Для полного погружения можно изучить оба направления. Но, если хотите углубиться в тему электроники, читайте материалы из железного трека. А для тех, кто хочет отойти от физики работы приборов на более абстрактный уровень проектирования, подойдут книги из архитектурного направления.

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

Что изменилось в open source-альтернативе TestRail. От кастомных статусов и атрибутов до bulk-операций

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

Привет! Я Александр Зырянов, проектный менеджер TestY и QA-менеджер в департаменте контроля качества YADRO. Тест-менеджмент системе TestY, которая доступна в open source любой команде и компании, скоро два года. Мы готовим крупный релиз 2.0 с масштабными изменениями, в том числе дизайна интерфейса.

А пока в качестве «аппетайзера» я расскажу про последние обновления к релизу 1.3.4. Среди них — bulk-операции, пуш-уведомления пользователей, доработка кастомных атрибутов и статусов. Подробнее о каждом — под катом. Устанавливайте TestY и испытайте в работе нашу открытую систему. 

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

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: проект программируемой логики

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров6K

Привет, Хабр! Меня зовут Павел Панкратов, я ведущий инженер-программист в дивизионе искусственного интеллекта YADRO. Этим текстом я запускаю цикл статей — экскурс в особенности работы с SoC, комбинирующей в себе реализованные в «железе» аппаратные блоки (Hard IP’s) и программируемую логику (Soft IP’s). Основная задача, которая объединит все три статьи, — параллельный запуск встраиваемой операционной системы на двух различных по архитектуре процессорах, представленных в виде Hard и Soft IP-блоков.

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

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

Делаем правильный анаглиф своими руками

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


Всем привет. Сегодня я поделюсь методом создания высококачественных анаглифических изображений с минимальными трудозатратами. Динозавров делать не будем: возьмем любую фотографию из семейного архива и получим полноценное трехмерное изображение. Сразу скажу, что концепция не новая, но мы будем использовать современные наработки и даже напишем простейший плагин для GIMP, от которого, впрочем, придется отказаться…
Читать дальше →
Всего голосов 40: ↑39 и ↓1+53
Комментарии9

Как мы построили модель прогнозирования выхода жестких дисков из строя

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Погружение в матрицу: расширение 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

Заглянем в хрустальный шар: как продвигается разработка стандартных матричных расширений 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

Информация

В рейтинге
13-й
Откуда
Россия
Работает в
Зарегистрирован
Активность