У вересні ми вперше зібрали C++ спільноту Харкова на GlobalLogic Kharkiv C++ Workshop!

У новому форматі ми поговорили про розвиток синтаксису шаблонів С++ та на практиці спробували використати його для впровадження інтроспекції часу компіляції та реалізації власної бібліотеки SFINAE. Експерти розповіли про архітектуру та програмування графічних процесорів, а також про втілення алгоритму моделювання гравітаційної задачі N-тіл. 

Захід почався з вступного слова модераторів: Яни Лісної (Senior Manager, Consultant, драйвер С++ напрямку у харківському офісі GlobalLogic) та Елліни Мединської (Senior Marketing Specialist, Consultant, GlobalLogic).

Відкрив практичний захід Денис Петров (Senior Software Engineer, Consultant, GlobalLogic) із темою C++ Templates. SFINAE. Денис в ІТ вже більш ніж 10 років. У фокусі його інтересів — розробка аналізатора бездротового каналу даних протоколів Wi-Fi та Bluetooth. Денис має практичний досвід розробки вбудованих систем для автомобільних інформаційних панелей та мобільних додатків на платформи Android та iOS. Він також володіє навичками програмування на Delphi, Java та JavaScript, наразі розробляє та вдосконалює графічний інтерфейс користувача з використанням фреймворку Qt.

Денис розповів про історичний розвиток базового синтаксису шаблонів С++, про використання можливостей синтаксису шаблонів для впровадження інтроспекції часу компіляції, а також про вже існуючі бібліотеки SFINAE та реалізацію власної бібліотеки.

Продовжив ділитися інсайтами в рамках доповіді General Purpose GPU Computing Станіслав Донець (Lead Software Engineer, Consultant, GlobalLogic). 

Станіслав — кандидат технічних наук; основний напрямок його діяльності — розробка наукомістких програмних модулів. Також Станіслав має великий досвід у математичному та мультифізичному моделюванні, обробці зображень, медичній візуалізації. Наразі він очолює напрям декодерів SSD-протоколів, що передаються по шині PCIe та є техлідом проєкту, що пов’язаний з розробкою десктопного додатку, який генерує, аналізує трафік низькорівневих апаратних високошвидкісних протоколів передачі даних.

У доповіді Станіслав зосередився на теоретичних аспектах архітектури та програмування графічних процесорів. Зокрема, він розповів про OpenCL, хост-програми та програми ядра, роботу з моделлю пам’яті OpenCL та високопродуктивний OpenCL. Далі розмова перейшла на практичні аспекти: ми поговорили про алгоритм N тіл Барнса-Хата на основі дерев, про методи, алгоритми та втілення цього алгоритму, обговорили питання оцінки та перевірки результатів, а також розглянули загальні переваги та обмеження пошуку розв’язання цієї проблеми.

Дякуємо всім учасникам за те, що були з нами цього дня!

Хочете розвиватись у С++ напрямку? Приєднуйтесь до команди GlobalLogic! А якщо ви хотіли б долучитись до нашого наступного заходу, слідкуйте за нашими новинами.