SDCast #102: в гостях инженеры из компании Artec 3D

Что вы знаете о технологиях трёхмерного сканирования и 3D-сканерах в частности? — Наверняка не многое. Интересно? — Тогда этот выпуск для вас! На этот раз у меня в гостях ребята из компании Artec 3D, занимающейся производством портативных 3D-сканеров:

* Евгений Лыхин, руководитель программных разработок
* Андрей Келл, тимлид команды разработки ПО сканера Leo
* Павел Карпычев, программист команды разработки ПО сканера Leo
* Антон Гудым, тимлид исследовательского отдела

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

Совсем недавно, у компании Artec 3D появился профессиональный 3D-сканер нового поколения Artec Leo. Это первый 3D-сканер со встроенной технологией автоматической постобработки данных.

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

Так же ребята рассказали про то, как устроены процессы разработки внутри компании, какое окружение у разработчиков, как устроены CI/CD процессы, как происходит тестирование сборок.

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

SDCast #63: в гостях Алексей Маркин, программист из МЦСТ

Приветствую, товарищи! В предыдущем выпуске мы немного затронули тему процессоров «Эльбрус» и VLIW-архитектуры , но эта тема показалась интересной, и вот, в этом выпуске у меня снова в гостях Алексей Маркин, программист из МЦСТ, и этот выпуск целиком и полностью посвящен этой теме.

Вначале Лёша рассказал немного про компанию МЦСТ, историю её появления и развития, направления деятельности, и чем компания занимается сейчас.

Далее мы поговорили про процессоры «Эльбрус», что они из себя представляют, чем они принципиально отличаются от других архитектур (x86, ARM, RISC и прочее). Для VLIW-архитектуры «Эльбруса» порядок инструкций исполнения программы имеет особо важное значение, так как процессор не умеет их сам переставлять, поэтому оптимальный порядок формируется уже на этапе компиляции программы, и компилятор является неотъемлемой частью архитектуры.

Далее мы обсудили оптимизирующий компилятор для процессоров «Эльбрус», непосредственно разработкой которого Алексей и занимается. Лёша рассказал, что это такое — оптимизирующий компилятор, зачем он нужен и какие задачи решает, в чём его отличие от «обычных» gcc, clang. Довольно подробно Лёша рассказал про различные типы оптимизаций, которые присутствуют в компиляторе, что они дают на выходе в плане производительности, рассказал как вообще эти оптимизации находятся и разрабатываются и внедряются в компилятор. Рассказал про различные подводные камни на этом тернистом пути оптимизации :)

Так же обсудили сам процесс разработки компилятора, какие инструменты используются в команде разработки в МЦСТ, как устроено тестирование и сбор метрик, бенчмарки и замеры производительности.

Читать далее

SDCast #62: в гостях Александр Титов и Амир Аюпов, инженеры из Intel и Алексей Маркин, программист из МЦСТ

Такого еще не было! Товарищи, рад представить вам 62-й выпуск подкаста, в котором у меня не один, а сразу целых три гостя! На этот раз вместе с Александром Титовым и Амиром Аюповым, инженерами из Intel и Алексеем Маркиным, программистом из МЦСТ, мы обсуждаем тему процессоров и разработку на стыке Hardware & Software. Отдельная большая часть подкаста посвящена вопросам айтишного образования в России.

По традиции, в начале ребята вкратце рассказали про себя, кто есть кто и чем занимается. Ну а дальше мы окунулись в мир процессоров! Обсудили из каких компонентов состоит процессор вкратце, как происходит выполнение пользовательского кода на процессоре, опять же очень условно, не вдаваясь в сложные технические детали. Обсудили какие бывают архитектуры и вообще что подразумевается под архитектурой процессора, чем отличаются x86, ARM, Эльбрус с точки зрения систем команд: традиционные RISC и CISC, плюс альтернативный VLIW.

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

Так же обсудили различные типа процессоров: CPU, GPU, различные кастомные железки, FPGA и прочее; какие классы задач решаются теми или иными процессорами, вопросы железячного прототипирования и разработки своего железа «с нуля».

Подискутировали на тему перспективных направлений в CPU дизайне и трендов разработки процессоров в индустрии. Что нас может ждать в ближайшем будущем и что интересного есть уже сейчас.

Во второй части подкаста мы пообщались про направление “Computer Science” в образовании. Поскольку все из участников подкаста так или иначе имеют отношении к высшему образованию, кто-то преподавал, кто-то преподает сейчас, мы вспомнили как это было у нас. Ребята рассказали про то, какие курсы и лекции они читают сами, поделились своим опытом преподавания и взаимоотношениями с институтами.

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

Читать далее