C++ User Group
C++ User Group
  • 479
  • 1 269 054
Алексей Алешкин (ИнфоТеКС) — Эффективное использование памяти во встраиваемых системах
-
Отличительная особенность разработки ПО для встраиваемых систем - ограниченность доступной памяти. Применение С++ значительно повышает скорость разработки, однако ухудшает прозрачность управления памятью и нефункциональные характеристики кода. Эти побочные эффекты зачастую приводят к понижению потребительских качеств продукта, ухудшению стабильности его работы или даже к невозможности реализации проекта на заданной платформе.
В процессе разработки проекта SIES Core команда Алексея столкнулась со всеми перечисленными побочными эффектами, что потребовало глубоких долгих исследований, результатами которых он поделился с аудиторией.
Доклад будет интересен разработчикам backend и embedded, создающим ПО с использованием С++ на недорогих платформах с ограниченным объемом памяти и отсутствием MMU.
Технологии: аллокаторы, MMU, Semihosting FS, GCC, GDB, OpenOCD.
Скачать презентацию с сайта C++ Russia - jrg.su/EWsSri
Переглядів: 1 859

Відео

Евгений Григорчук - GPU Driven Rendering Pipeline, или Как пишется графика в современных видеоиграх
Переглядів 1,2 тис.Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Современный GPU достаточно производительный, чтобы заниматься рендером объектов, не обращаясь к CPU. Это позволяет ускорить процесс рендеринга в современных играх. Благодаря использованию GPU Driven Rendering Pipeline можно снизить загруженность CPU до 50%-60%. В докладе раз...
Юрий Грибов - Как правильно писать компараторы
Переглядів 2,3 тис.Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Один из малоизвестных примеров undefined behavior в C/C это нарушение требований к функциям сравнения (компараторам). Компараторы широко используются в алгоритмах (std::sort, std::binary_search, и т.д.) и контейнерах (std::set, std::map) и встречаются как в C , так и в C (qs...
Илья Казаков - Кастомизируем ASIO
Переглядів 1,6 тис.Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - ASIO позволяет использовать std::future из коробки для работы с асинхронными событиями. А что если хочется использовать свою реализацию future? Илья расскажет и покажет, как это сделать. Заодно он поговорит про кастомизацию уровнем ниже, на примере io_uring. Скачать презента...
Дмитрий Мельник - Безопасный компилятор: надежная оптимизация и улучшение защищенности кода
Переглядів 422Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - К появлению уязвимостей в программах могут приводить не только ошибки, допущенные программистом, или злой умысел, но и агрессивные оптимизации, применяемые компилятором. Такая опасность возникает прежде всего для кода, содержащего конструкции с неопределенным поведением (und...
Эрнест Асанов - Модель асинхронности в C++: теория и практика
Переглядів 1,7 тис.Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Сегодня программный код растущими темпами становится асинхронным. Асинхронность используется повсюду: от процессоров, сетевого кода и файлового ввода/вывода, до GUI и GPU. Языки программирования, которые хотят идти в ногу со временем, должны учитывать асинхронность в своем д...
Антон Сысоев - Dynamic Libraries for Bare Metal
Переглядів 448Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Все привыкли к динамически загружаемым библиотекам в больших ОС: это экономит размер исполняемого файла и позволяет обновлять только необходимые компоненты. Однако в bare metal-разработке это не так популярно и распространено. Антон рассказал про свой опыт в этой области, а ...
Илья Шишков - Что-то у меня тормозит: заглядываем внутрь С++ контейнеров
Переглядів 2,1 тис.Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Возвращаемся к азам и смотрим, какие асимптотики имеют различные операции с контейнерами С и почему именно так. Обсуждаем общие рекомендации - какой контейнер и когда использовать. Скачать презентацию с сайта С Russia - jrg.su/whTxmR
Тот самый стендап от Павла Филонова на C++ Russia 2023
Переглядів 1,6 тис.Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - В программе конференции произошли небольшие корректировки и неожиданно для всех Паша Филонов экспромтом выдал целый стендап.
Дмитрий Ермолов - Roren - С++ фреймворк для описания пайплайнов распределенных вычислений
Переглядів 206Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Огромное количество С кода в Яндексе можно описать словами «распределенные вычисления». Доклад посвящен активно разрабатываемому сейчас С фреймворку, вдохновленному библиотеками std::ranges и Apache Beam. Этот фреймворк позволяет достаточно компактно и просто описывать такие...
Ростислав Михеев - Эффективное использование GPU на примере разработки игр
Переглядів 586Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - В докладе описываются общие моменты анализа и эффективного использования современного графического процессора на примере компьютерных игр. Профилирование и оптимизация для GPU. Разбор методик из геймдева для повышения производительности. Скачать презентацию с сайта С Russia ...
Олег Сенин - Sizecoding: взгляд изнутри
Переглядів 177Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Поговорили о том, что такое sizecoding и в чем его отличия от классического программирования. Разобрали несколько алгоритмов конкретных демо-эффектов и их реализацию. Изучили программные трюки, позволяющие уместиться в заданный объем исполняемого кода.
Максим Кита - Техники оптимизации производительности
Переглядів 998Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Максим рассказал много практических вещей про оптимизации производительности. Какие инструменты стоит использовать для того, чтобы находить места для оптимизаций. Как не ошибиться при тестировании производительности. Как правильно выбирать и тестировать алгоритмы и структуры...
Александр Еналдиев - C++ Experiments: The Battle Continues: Cpp2 vs Carbon
Переглядів 356Місяць тому
Ближайшая конференция: С Russia 2024, 24 мая (online), 2-3 июня (offline, Москва) Подробности и билеты: jrg.su/W8skjE - - Несмотря на работу комитета над новыми стандартами языка, похоже, некоторые инварианты не могут быть пересмотрены, и активисты ведут работу в создании своих C совместимых языков по этим мотивам. Вы снова окунетесь в дизайн с тем, чтобы попытаться ответить на вопрос: зачем? Ч...
Иван Смирнов - YsonStruct: дешевая сериализация иерархических JSON-структур
Переглядів 188Місяць тому
Иван Смирнов - YsonStruct: дешевая сериализация иерархических JSON-структур
Владимир Ситников - B-tree индексы в базах данных на примере SQLite и PostgreSQL
Переглядів 246Місяць тому
Владимир Ситников - B-tree индексы в базах данных на примере SQLite и PostgreSQL
Артем Хорошев - Ускоряем синтез: от TensorRT до CUDA C++
Переглядів 120Місяць тому
Артем Хорошев - Ускоряем синтез: от TensorRT до CUDA C
Аяз Салихов - Имплементируем класс tuple в 100 строк кода
Переглядів 269Місяць тому
Аяз Салихов - Имплементируем класс tuple в 100 строк кода
Ashot Vardanian - Advanced Linux Kernel Bypass Techniques in 2023
Переглядів 180Місяць тому
Ashot Vardanian - Advanced Linux Kernel Bypass Techniques in 2023
Егор Суворов - Санитайзеры и стандарт не спасут
Переглядів 1,3 тис.Місяць тому
Егор Суворов - Санитайзеры и стандарт не спасут
Александр Ганюхин - Машина состояний: непридуманная история
Переглядів 199Місяць тому
Александр Ганюхин - Машина состояний: непридуманная история
Тренды от HR
Переглядів 110Місяць тому
Тренды от HR
Rainer Grimm - Concurrency Patterns
Переглядів 180Місяць тому
Rainer Grimm - Concurrency Patterns
Денис Легезо - Злые фреймворки и генерируемый ими позиционно-независимый код
Переглядів 68Місяць тому
Денис Легезо - Злые фреймворки и генерируемый ими позиционно-независимый код
Елена Веселовская - Как перейти от ученичества к работе
Переглядів 187Місяць тому
Елена Веселовская - Как перейти от ученичества к работе
Андрей Аксенов - Про алгоритмы в поисковых движках
Переглядів 206Місяць тому
Андрей Аксенов - Про алгоритмы в поисковых движках
Техническое интервью: Архитектурная секция
Переглядів 768Місяць тому
Техническое интервью: Архитектурная секция
Сергей Ларин, Владислав Столяров - Как сделать фронтенд компилятора в домашних условиях
Переглядів 76Місяць тому
Сергей Ларин, Владислав Столяров - Как сделать фронтенд компилятора в домашних условиях
Антон Потапов, Антон Малахов - Учим Кукушку Летать, или ConcurrentHashMap with Seqlocks
Переглядів 179Місяць тому
Антон Потапов, Антон Малахов - Учим Кукушку Летать, или ConcurrentHashMap with Seqlocks
Нужны ли профсоюзы в IT?
Переглядів 83Місяць тому
Нужны ли профсоюзы в IT?

КОМЕНТАРІ

  • @FigisBadralov
    @FigisBadralov 3 години тому

    Разработка монолита - очень быстро!

  • @oyaebunterkrah_
    @oyaebunterkrah_ День тому

    А где ссылка на телеграм канал Александра?

  • @denisgluk431
    @denisgluk431 День тому

    знакомые лица.. на собеседовании как-то был у него

  • @denisgluk431
    @denisgluk431 2 дні тому

    очень интересная задумка

  • @guitarkiller86
    @guitarkiller86 2 дні тому

    Супер доклад

  • @user-vw1fg9hr8m
    @user-vw1fg9hr8m 4 дні тому

    Охуеть, мы ьудем писать с++, с отстой, СЛЕДУЮЩИЙ СЛАЙД: это не лезет, здесь много типов, сдесь много кода, тут не так, там не так. А вотя пишу на Си даже для ПК и меня всё устраивает. ДА может быть на ++ быстрее писать, но я не люблю когда код зависит от кучи разного говна

    • @vvdvlas8397
      @vvdvlas8397 3 дні тому

      Этой "кучей говна" занимается операционная система с компилятором и Вы о ней просто не знаете.

    • @denisgluk431
      @denisgluk431 2 дні тому

      тебя же никто не заставляет говно в плюсах использовать..

    • @xxx3Vxxx
      @xxx3Vxxx День тому

      Не платите за то что не используете, говорили они... Ну да, в плюсах много чего такого... Но как и везде. Это инструмент, надо правильно использовать для конкретных задач.

  • @40Ants
    @40Ants 6 днів тому

    Какой же прекрасный язык C++. Слушаю обо всех возможных косяках, и по щеке стекает ностальгическая слеза. А если серьёзно, то нисколько не жалею о том, что больше не пишу на плюсах.

  • @nikitasuperhackk6994
    @nikitasuperhackk6994 6 днів тому

    Спасибо большое Алексею за доклад!

  • @MonahTuk
    @MonahTuk 7 днів тому

    А что во Владивостоке что в разработке есть?

    • @vladimirlos5432
      @vladimirlos5432 6 днів тому

      А - что, во Владивостоке не может быть ничего в разработке?

    • @MonahTuk
      @MonahTuk 6 днів тому

      @@vladimirlos5432 есть, меня интересует - что? )

  • @mytechnosnail
    @mytechnosnail 7 днів тому

    Сломал мозг. Пусть этим колдовством занимается другой. Пойду во вротенд.

  • @euuhgzz2791
    @euuhgzz2791 7 днів тому

    Delete c++

  • @ValeryMosyagin
    @ValeryMosyagin 8 днів тому

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

  • @ValeryMosyagin
    @ValeryMosyagin 10 днів тому

    Прелестно! Спасибо за информативный доклад. Очень полезно знать историю, что и как было.

  • @Arenoros
    @Arenoros 11 днів тому

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

  • @dennismattuer2610
    @dennismattuer2610 15 днів тому

    хороший доклад!! Мелочи - наше все и пока неистребимо

  • @radiopapus
    @radiopapus 17 днів тому

    На 35 минуте есть фраза "можно использовать стек как кучу". Может кто-нибудь подробнее рассказать значение этой фразы? Корутина никогда не делает return, соотв. стек не будет очищаться, а размер стека ограничен. Заранее спасибо.

  • @TheTimur123
    @TheTimur123 21 день тому

    Смотрел лекцию по асинхронным процессам и вот там такое встретилось - если функция заблокировалась, например, функция приема чего то там по сети, а ни одного клиента нет, то мы висим и ждем, и тогда происходит вот что - операционная система понимает это и чтоб не терять время и не висеть просто так, она делает context switch (переключение контекста). И вот у меня такой вопрос - А как она понимает, что вот уже пора делать это переключение контекста? Там зашита какая то величина таймера? Ну типа - любой функции разрешено висеть не больше 1 секунды, если 1 секунда прошла, а функция не разморозилась (так как она все еще ожидает что то там по сети, а это что то там так и не приходит и не приходит), то операционная система говорит - слышь ты, хорош тут висеть, я тебя временно снимаю с процессора, там есть другие задачи. То есть мне не понятно конкретно вот что - кто решает сколько можно висеть функции на блокировке ? Это зашито прям в ядре ОС?

  • @lenin1st
    @lenin1st 21 день тому

    7:28 что такое "сторы в память" и почему они "должны быть мёртвыми"?

  • @TheTimur123
    @TheTimur123 21 день тому

    Вот мое самое простое пояснение для чего нужны корутины - они позволяют не терять время, а переключаться с текущей задачи на другую, если ты видишь, что текущая задача пока еще не скоро решится. Вот пример. Вы начали летом стоить дом на даче, вам важно те терять летние дни просто так впустую. Вы начали строительство и чувствуете, что вам нужна какая то штука (допустим уровень), который лежит в сарае. Эта штука вам нужна не прям очень срочно, но тем не менее она нужна полюбому будет сегодня. И вот у вас какой то этап работ уже завершен (допустим, Вы смазали специальным составом доски от гниения так называемым антисептиком). И у вас есть выбор или отдохнуть или начать делать что то другое по строительству (например, размечать место будущего дома) или искать уровень, так как он Вам так и так сегодня будет нужен и его полюбому надо будет найти. И вот вы решили, что отдыхать это непозволительная роскошь, и надо скорей найти уровень в сарае, заодно и прогуляться до сарая как раз отдохнешь пока ходишь. Вы рассчитывали, что зайдя в сарай Вы найдете уровень за 5 секунд, однако, зайдя в сарай, Вы увидели, что там бардак и в первые 30 сек уровень найти не удалось. И тут вы принимаете решение - или продолжать искать уровень в сарае (но еще неизвестно сколько это займет времени, быть может весь день и тогда Вы рискуете потерять весь день на не самую важную задачу), или же хрен с ним с уровнем (найдем потом!) и идти пока еще не зашло Солнце делать другой этап работы (например, размечать место установки фундамента). Без корутин Вы если зашли в сарай (зашли в функцию ) Вы уже не можете выйти пока не найдете эту вещь, вы зависаете на поиске этой вещи и возможно надолго. Вы как бы что то и делаете, и в тоже время вы понимаете, что вы теряете время зря. С корутинами же можно сделать вот так - вы можете приостановить поиск и спокойно выйти из сарая (вы уже осмотрели часть сарая и там не нашли уровень), и пойдете заниматься более важным - размечать фундамент. В то же время, Вы можете позвонить другу и сказать, слушай помоги, я тут размечаю фундамент, но уже скоро мне понадобиться уровень, но я не знаю где он там, я не могу зависнуть на поиске, иначе зайдет солнце и я не успею разметить фундамент, помоги мне найти уровень, ключи от сарая воткнуты в двери! И вы спокойно продолжаете размечать фундамент, а Ваш друг заходит в сарай и продолжает искать уровень с того места, где вы остановились. А вы не теряете на это время. То есть корутины позволяют делать вот что - если произошла какая то непонятка по текущей подзадаче, то вы можете поставить эту подзадачу на паузу и вернуться к ней, когда возникнет очередной перерыв в основной задаче. То есть вам не важно именно прям сейчас найти что то в сарае, вы можете прекратить поиск и продолжать строить дом на до того момента, пока уровень еще не нужен (например, подготавливать доски), и вернуться продолжить поиск инструмента в сарае как будет возможность позже (ну или сразу попросить друга).

  • @vladimir0rus
    @vladimir0rus 24 дні тому

    clang читается не как "силэнг", а как " клэнг".

  • @SmoukingMouse
    @SmoukingMouse 26 днів тому

    Спасибо за доклад, есть интересные моменты, ребята прям запотели. В этом докладе конечно же "весь С++", то что в других языках не вызывает проблем или вопросов, в С++ решается костылём на костыле с UB, которые потом не понятно как поддерживать, прям классика ).

  • @Konstantin_Evdokimov
    @Konstantin_Evdokimov 26 днів тому

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

  • @vjacheslavvorobyov3554
    @vjacheslavvorobyov3554 28 днів тому

    Интересно ... А если Евгений не использовал чужой код, то LR1 парсер он сам написал?

    • @vjacheslavvorobyov3554
      @vjacheslavvorobyov3554 28 днів тому

      Досмотрел... Понял... Но интересно что на данный момент, ведь видос старый.

  • @MykytaKozlov
    @MykytaKozlov 29 днів тому

    Как-то на практике "благие намерения" single source гетерогенных вычислений так или иначе приводят к "vendor lock in", SYCL как-то не очень-то получается на практике промышленного написания софта заставить работать на всех трех основных цветах (вендорах), а старый добрый OpenCL, с оговорками и "молитвами" - работает везде, да, закат солнца вручную, но работает везде. Мне кажется, что вместо игр в SYCL интелу не нужно было отказываться от развития OpenCL и исправлять свои косяки дальше, делать инструменты (очень нравится intel_driver_diagnostics расширение), а не сдаться, и имея реализацию 2-го стандарта откатиться назад в 1.2, потому что "у нас лапки" :). Жалко, что интелы выкинули queue_on_device из последних драйверов. Спасибо за доклад, стали понятны побуждения зачем вообще SYCL нужен. Ну и AMD-шный ассемблер не такой уж непонятный, все там с ним ок.

  • @SmoukingMouse
    @SmoukingMouse Місяць тому

    Спасибо за доклад, тема затронута интересная, но что то понять достаточно сложно.

  • @ivanzhukov9750
    @ivanzhukov9750 Місяць тому

    Извините за грубость, но у лектора задницу скипидаром натёрли? Он стоять спокойно за кафедрой не может? Что он ходит туда-сюда, вертится на месте, иногда вообще чуть не задом к аудитории встаёт? Выглядит отвратительно. Я понимаю что выступающий - не профессиональный лектор, но чёрт, если уж вылез на сцену - веди себя прилично.

  • @antonchilchegov
    @antonchilchegov Місяць тому

    Как сравнивать числа с погрешностью? Не делайте так! Красава

    • @yugr
      @yugr 18 годин тому

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

  • @denisfedotov6954
    @denisfedotov6954 Місяць тому

    stateful/stateless корутины это неверное произношение stackful/stackless или таковые тоже есть?

    • @valera16011990
      @valera16011990 26 днів тому

      неверное произношение

  • @kapitonovmax
    @kapitonovmax Місяць тому

    Кто в лес кто по дрова.

  • @UnrealTemplier
    @UnrealTemplier Місяць тому

    Thank you, Rainer for the great talk! You did a lot for the community and you are great! I wish you better health and more luck!

  • @idiotsiuda
    @idiotsiuda Місяць тому

    [boost-ext]::sml?

  • @ybereza
    @ybereza Місяць тому

    Казалось бы простая тема, но как обычно - легко допустить ошибку. Спасибо за доклад :)

  • @mrhrush4810
    @mrhrush4810 Місяць тому

    16:40 В результате реаллокации с номером i будет 2^(i-1) перемещений. У тебя, ведь, так и написано справа, что для первой реаллокации будет 2^0, для второй будет 2^1. И сумма перемещений в таком случае будет: 1 + 2 + ... + 2^(log2N - 1) Хотя, я думаю, что тут это совсем не критично и разницы почти нет.

  • @feelamee
    @feelamee Місяць тому

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

  • @vladimir_v_it
    @vladimir_v_it Місяць тому

    В зале царило всеобщее воодушевление) Изюминка конференции)

  • @vladimirprivalov8434
    @vladimirprivalov8434 Місяць тому

    Была хорошая лекция по Множествам в курсе Тренировок по алгоритмам от Яндекса - ua-cam.com/video/PUpmV2ieIHA/v-deo.html. Всем рекомендую

  • @dont_know_who_
    @dont_know_who_ Місяць тому

    Что такое «цветные банки»? Я кажется под камнем)

  • @leonid998
    @leonid998 Місяць тому

    Первый пример с bool - использование неинициализированного значения - всегда UB, -Wuninitialized отловит это.

    • @yeputons
      @yeputons Місяць тому

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

    • @leonid998
      @leonid998 Місяць тому

      @@yeputons ​ Да, это все очень зависит... // а точнее, clang и zig осиливают (godbolt: o4Gb8s7Tx), gcc и др. - нет.

  • @asc7uni
    @asc7uni Місяць тому

    Отличный доклад, спасибо

  • @AlexSav
    @AlexSav Місяць тому

    16:30 Павел думает, что перебирать до sqrt(N) это логарифмическая сложность, но это не так.

  • @tgitw-tq6iu
    @tgitw-tq6iu Місяць тому

    вейвы и их аналогии это и есть то, что исполняется на реальном ядре. И обмен информации там есть(как радуется автор на 50 минуте) как раз таки именно потому, что они есть часть одного целого. Это я всё к чему, а тому что цпу и гпу мало чем отличаются друг от друга несмотря на то как пытается представить это нвидия. Да, культура разная. Представление о железе в цпу-мире дремучие. Но понимание того/иного позволяет эффективно писать код на обоих устройствах.

  • @tgitw-tq6iu
    @tgitw-tq6iu Місяць тому

    Никаких куда-ядер в железе нет. Их когда-то придумала нвидия чтобы в своих рекламных агитках объяснять почему гпу лучше. А гпу есть такие ядра как в цпу, количество их примерно такое же. Единственное что гпу использует явный параллелизм и управлением им, а в цпу всё это скрыто за слоями легаси-isa и дремучих представлений о железе. Понятие куда-ядра не просто не имеет смысла, но ещё и постоянно путает людей. О чём автор доклада частично сообщает. цпу-ядра предполагают независимый параллелизм - это значит, что мы можем абсолютно различный код исполнять на разных потоках. Аналогичные ядра(и то что мы вообще называем ядрами) в гпу есть это sm и их аналоги. Понятие simt так же создано рекламными агитками нвидии. Оно ничем не отличается от simd и призвано разграничить в головах потребителя эти подходы. Потому как если таким же образом как нвидия считать "ядра" в цпу, то их там так же тысячи. Но лучше продолжать думать о том что цпу такой немощный. Разницу simt нвидия пытается определять через всякие программно-аппаратные костыли. Мы не знаем насколько они аппаратный потому что нвидия максимально закрыта. Это по-сути отдельный компьютер наружу которого торчит api и что там и как исполняется мы не знаем. Он исполняет другой код совершенно, а не тот что в него посылается. Ну точно так же как x86. В последних итерациях нвидия вообще пытается вынести всю реализацию на внутренние цпу-ядра. Обычно все эти "simt" мы реализовывали сверху точно так же как автор говорил про ифдефы и конфигурацию при компиляции. Но в современных симд(avx512) есть маски и прочая атрибутика simt. Теоретика это можно сделать эффективнее чем реализовывать это руками, но во многом эта эффективность обусловлена проблемами x86, а таких проблем в гпу нет. Проблемы х86 можно свести к следующему "процессор может исполнять больше инструкций чем читать/разбирать".

  • @xeleron7363
    @xeleron7363 Місяць тому

    лучший доклад за всю конференцию :DDD

  • @Mister-Jesus
    @Mister-Jesus Місяць тому

    Извините, но по факту ни о чем

  • @user-nh5yb2uv4b
    @user-nh5yb2uv4b Місяць тому

    Отличный докладчик

  • @SmoukingMouse
    @SmoukingMouse Місяць тому

    Спасибо за доклад!

  • @aiteron
    @aiteron Місяць тому

    Спасибо за доклад!

  • @anatoliyv5607
    @anatoliyv5607 Місяць тому

    Что сразу режет восприятие так это с первых минут утверждение что ничего не завезли в язык ничего не хватает но в новые стандарты не лазил и не знаком

  • @TheUV58
    @TheUV58 Місяць тому

    прекрасный доклад