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

Синтаксис, синглтон и смертельный ромб в С++: взгляд опытного разработчика на C

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

Давайте знакомиться: меня зовут Анатолий Семятнёв, я и моя команда разрабатываем ПО для опорных сетей 5G в YADRO. В IT-сфере работаю давно, и мой опыт в основном связан с языком С: занимался Board Support Package (BSP) и драйверами, много работал с операционной системой QNX. 

До того, как начал полноценно работать на С++, сталкивался с языком в нулевые, писал на С++98. Тем не менее все это время я краем глаза поглядывал, что происходит в С++, и хотел вернуться к программированию на этом языке. Читал книги, делал пет-проекты, смотрел записи конференций и митапов по С++. А когда пришел в YADRO, стал писать на С++.

Мне с ходу дали большую фичу для имплементации, я писал много кода, и получал комментарии от коллег. В этом материале собрал все, что изучил или вспомнил по итогам код-ревью. Что рассмотрим в статье:

• Ключевые концепции — explicit, final, default, string — и как их использовать.

• Инициализацию мемберов с помощью пустого брейс-листа.

• Синглтон Майерса в корутинах.

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

Читать далее

Для Go-разработчиков, которые хорошо себя вели в этом году: генерируем стабы для тестирования и пилим монолит

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

Если бы мы организовывали предновогодний корпоратив «здорового» гофера, он выглядел бы так. 12 декабря, в четверг, собираем Go-разработчиков в Нижнем Новгороде и онлайн, чтобы обсудить практики тестирования микросервисов на Go, историю распила монолита, которая привела к… монолиту, и работу с монструозным Makefile (ждем откровений Даниила Подольского). В качестве нетайных Сант выступят эксперты из Wildberries, YADRO, Ви.Tech и Weborama — спикеры и участники GolangConf. 

Чтобы почувствовать приближение Нового Goда, регистрируйтесь на офлайн-участие — сможете поучаствовать в технических интерактивах и получить подарки. А если вы не в Нижнем, присоединяйтесь к последнему Go-митапу в 2024 году онлайн.

Читать далее

Самые быстрые страусы: выбираем способ организовать обмен прерываниями между машинами QEMU c KVM и без

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

QEMU позволяет эмулировать работу не только одной отдельной машины, но и связывать несколько независимых машин между собой. Для организации такой связи их обычно объединяют в одну сеть, например с использованием virio-net-pci. Но виртуальный ethernet — не единственный способ, связь может быть и более близкой и плотной: общая память и mailbox, линии gpio и даже NTB.

Быстрая работа связанных QEMU машин приятна при разработке/отладке и очень важна при массовом прогоне автотестов в CI: нужна как высокая пропускная способность, так и низкая задержка передачи сообщения. Для одной из задач с коллегами из отдела системного программирования YADRO я оптимизировал часть такой связки, а именно — обмен прерываниями. В статье расскажу о дизайне нескольких подходов организации IQI, разберу внутреннее устройство QEMU и поделюсь, как оправдались наши ожидания. 

Читать далее

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

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

Здравствуй, Хабр! На связи вновь Павел Панкратов — ведущий инженер-программист дивизиона искусственного интеллекта YADRO. Мы добрались до финала моего повествования о параллельном запуске двух операционных систем на FPGA с процессорной подсистемой.

В этой статье мы запустим подготовленный проект и верифицируем его. А в качестве бонуса посмотрим на один из способов разработки ПО под Soft-CPU, минуя IDE Vitis. Плюс загрузим ОС Soft-CPU с помощью QEMU.

Читать далее

Go отлаживать на проде, избавляться от хардкода и переходить на Ginkgo/Gomega: доклады для гоферов

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

Что делать, если сервис на проде внезапно лег, а куда копать — непонятно. Знакомая ситуация? Запускать отладчик ой как страшно, но иногда это единственное решение. Как подготовиться и избежать фиаско? Несколько полезных советов дал ведущий инженер в платформе. А еще в нашей подборке — хардкор без хардкода на платформенном сервисе с CEL в конфиге и осознанный, но безболезненный переход на Ginko/Gomega для смелых Go-тестировщиков.

Читать далее

Проектирование RTL на SCALA, схемотехника в российских САПР и верификация RISC-V: 8 докладов заключительной FPGA Systems

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

Если вы хотя бы раз слушали доклады FPGA Systems, вы знаете, что это настоящий интенсив с новыми знаниями по FPGA-разработке и не только. Заключительная конференция сообщества в этом году, организованная с YADRO, — не исключение. 30 ноября, в субботу, вас ждет восемь докладов от инженеров из МИЭТ, БЮРО 1440, ЭРЕМЕКС, YADRO. От новостей китайских ПЛИС (BMTI) — докладчик недавно посетил их производство — до разбора кейсов. Например, как запустить видеокарту AMD на ПЛИС с RISC-V. 

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

Читать далее

Книги и статьи про спецпроцессоры: от «волны Макимото» до систолических массивов и ASIP

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

Спецпроцессоры не настолько известны, как универсальные процессоры. Действительно, куда им до популярности той же архитектуры RISC-V! Которая, впрочем, спроектирована в том числе для использования множества специализированных ускорителей. Современный универсальный процессор все чаще выполняет роль «дирижера», основное занятие которого — управление «оркестром» разнообразных спецпроцессоров. В статье собрали список материалов, которые помогут глубже понять принципы работы, проектирования и программирования таких процессоров.

Подборку составил и прокомментировал Пётр Советов, специалист в области разработки DSL-компиляторов и старший научный сотрудник лаборатории специализированных вычислительных систем РТУ МИРЭА.

Читать далее

«Шапочка из фольги не поможет»: что такое handover в базовых станциях и как его тестируют

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

Привет, Хабр! Меня зовут Анастасия Беднова, я тестирую базовые станции в стандартах 4G (LTE) в YADRO. В профессии я почти 20 лет: начинала карьеру в крупной компании-вендоре как тестировщик одного из компонентов сети 3G. Когда два года назад YADRO объявила о разработке собственной базовой станции, я решила, что хочу стать частью этого проекта — в России такого еще никто не делал, задача показалась крайне амбициозной. 

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

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

Читать далее

Готовимся к Micromouse: как роботу построить карту лабиринта

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

Привет, Хабр! Меня зовут Денис Логашов, я инженер-исследователь отдела автоматической обработки результатов моделирования и визуализации YADRO. В этом году мне предложили поучаствовать в соревновании по робототехнике в дисциплине Micromouse, где роботизированной мыши нужно как можно быстрее найти путь в центр лабиринта и понять, что цель достигнута. Такие соревнования проводятся в разных странах уже почти 50 лет, и в 2023 году Micromouse вошел в программу фестиваля РобоФинист в Санкт-Петербурге. В этом году мы заняли там второе место.

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

Читать далее

Красную карточку этому роботу! Участники RoboCup — о современном робофутболе

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

Соревнования по робофутболу зародились более 20 лет назад, и с тех пор стали не только спортивным событием, но и исследовательской площадкой для отработки современных технологий на стыке AI/ML и робототехники. Разные лиги позволяют инженерам со всего мира разрабатывать и совершенствовать роботов, которые умеют ориентироваться на поле, передвигаться и общаться друг с другом.

В конце октября на международном турнире RoboCup-2024 Asia-Pacific команда StarKit, организованная на базе МФТИ, завоевала первое место в лиге Standard Platform, обыграв в финале соперников из Китая со счетом 3:1. В составе StarKit выступили стажеры отдела FPGA-прототипирования YADRO — Арсений Штундер и Булат Сибгатуллин. Они рассказали, как устроен современный робофутбол, почему это на самом деле глобальный open source и какие технологии лежат в основе.

Читать далее

Как мы исследовали энергоэффективность инференса нейросетей на планшете

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

Современные гаджеты невозможно представить без AI-функций. Но у них есть цена, которую приходится «платить» конечному потребителю, в том числе более быстрая трата батарейки и перегрев устройства. В итоге производители электроники сталкиваются с дилеммой: фичи нужны, их нужно много, но без значительного ущерба для батарейки.

Меня зовут Павел Буровский, я инженер-разработчик ПО искусственного интеллекта. Вместе с Яной Булиной, инженером отдела проектирования новых поколений технологического стека департамента ИИ в YADRO, мы измеряли энергоэффективность выполнения некоторых AI-функций планшета KVADRA. В статье расскажем, как организовали необходимые эксперименты, и покажем много графиков с результатами запусков на CPU, GPU и NPU.

Читать далее

Serviceability в действии: реальные примеры разработки и улучшения процедур обслуживания IT-оборудования

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

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

Я, Александр Чуриков, технический эксперт по продукту в YADRO, расскажу на реальных примерах, что делает сервер удобным для обслуживания и как инженеры обеспечивают быстрое и безошибочное восстановление работы систем.

Читать далее

Взгляд в игольное ушко: какие дефекты открывает рентген на печатных узлах QFN, SON, DFN и QFP

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

Мы продолжаем изучать дефекты, которые можно встретить при рентген-контроле качества печатных узлов. В первой части статьи Александр Патутинский, технолог по подготовке и запуску печатных плат в производство, систематизировал дефекты BGA-корпусов. Кроме них, рентген-снимки могут показать дефекты таких корпусов, как QFN (Quad Flat No-lead), SON (Small Outline No-lead), DFN (Dual Flat No-lead) и QFP (Quad Flat Package), в том числе с термопадами. Под катом Александр разберет эти случаи, как стандартные, так и более редкие, чтобы никакие результаты рентген-исследования не смогли ввести вас в заблуждение.

Читать далее

О стандартах не спорят? Обсудим — на митапе для С++ разработчиков

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

14 ноября подключайтесь к онлайн-встрече разработчиков на C++. Инженеры из YADRO объяснят, как сочетать современное программирование с объектным подходом, расскажут об уникальных особенностях интрузивных контейнеров и познакомят с библиотекой Boost.Intrusive. После докладов эксперты из YADRO, Яндекса, Syntacore и Касперского обсудят удовлетворенность реализацией и внедрением фич в текущие стандарты C++.

Антон Полухин и Константин Владимиров — на одной площадке, когда еще такое случится! Регистрируйтесь, чтобы получить ссылку на трансляцию.

Читать далее

Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов

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

Привет, Хабр! Меня зовут Кирилл Колодяжный, я разрабатываю системы хранения данных в YADRO и изучаю нестандартные подходы к машинному обучению: создаю ML-проекты на С++. 

Это вторая часть цикла о разработке приложения для обнаружения предметов на С++. В прошлом материале мы выяснили, как создать проект в IDE Android Studio, реализовать сессию непрерывного захвата и преобразовать изображение в матрицу OpenCV. Ссылку вы найдете в конце статьи.

В этой статье продолжим реализацию проекта и обсудим следующие шаги:

• Как подключить к проекту библиотеки машинного обучения PyTorch и NCNN.

• Как получить модели YOLOv5 и YOLOv4 для использования на мобильном устройстве.

• Как реализовать инференс моделей для обнаружения объектов.

• Как обработать результаты работы моделей YOLO, реализовав алгоритмы Non-Maximum-Suppression и Intersection-Over-Union.

В конце сравним производительность PyTorch и NCNN и решим, какой фреймворк подойдет для задачи лучше.

Читать далее

Синтез цифровых схем: что почитать при любом уровне подготовки

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

Осенью стартовал новый поток Школы синтеза цифровых схем — нашей бесплатной образовательной программы о современных приемах проектирования цифровых микросхем. От серийных ASIC и микропроцессоров общего назначения до реконфигурируемых FPGA и специализированных вычислителей. По этим и связанным темам выпущено немало профессиональной литературы. Мы попросили преподавателей Школы — Юрия Панчула и Александра Рябова — выбрать книги, которые помогут при обучении в школе и самостоятельном освоении синтеза цифровых схем.

Читать далее

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

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

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

Читать далее

Митап по RISC-V в Нижегородском кремле: обсудим оптимизации под архитектуру и средства мониторинга производительности

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

Если вы интересуетесь развитием открытой процессорной архитектуры или уже разрабатываете что-то под нее, присоединяйтесь в среду, 6 ноября, к вечернему митапу российского Альянса RISC-V и YADRO. Вместе с экспертами из Syntacore, ННГУ им. Лобачевского и YADRO обсудим актуальные новости свободной архитектуры: от цикловых оптимизаций и масштабируемой векторизации до перспектив аппаратных средств мониторинга и анализа производительности в RISC-V.

Для офлайн-участников мы подготовили сюрприз: митап пройдет в самом центре города — Нижегородском кремле. Но, если до столицы закатов вам далеко, регистрируйтесь на трансляцию и присоединяйтесь онлайн.

Что в программе

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

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

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

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

Читать далее

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

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

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

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

Читать далее
1
23 ...

Информация

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