Константин Владимиров - Память как концепция в гетерогенных системах

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024
  • Подробнее о конференции C++ Russia: jrg.su/W8skjE
    - -
    Память это то, что программисты на C++ хорошо знают и полагают, что имеют над ней контроль. Но много ли известно о памяти на GPU?
    Внезапно многие привычные концепции из мира C++ ломаются, а создание single-source слоев абстракции (таких как SYCL) требует введения большого количества странных для CPU понятий и терминов. И все это влияет на производительность. В докладе Константин рассмотрит память, как ее понимают в C++ и как ее понимают для графики, и покажет много примеров на SYCL.

Комментарии • 6

  • @alex_s_ciframi
    @alex_s_ciframi 2 года назад +2

    Константин, спасибо за лекцию. Я мало, чего понял :D , зато увидел очепятку на 51:02 - идентификаторы задач определены с заглавными литерами, а используются с маленькими литерами

    • @kostikvl
      @kostikvl 2 года назад +2

      Ну я её прямо на лекции заметил. Слайды по QR коду её уже не содержат.

    • @alex_s_ciframi
      @alex_s_ciframi Год назад

      @eugene martein слова то понятные, тема непонятная :) С речью всё нормально. А банит - значит, есть, за что

    • @alex_s_ciframi
      @alex_s_ciframi Год назад +1

      @eugene martein к слову, лекции по C и C++ - все очень крутые и предельно информативные. Это вообще единственный ресурс в ютубе на русском языке про языки программирования, я полагаю, на который хочется заходить :D

  • @MykytaKozlov
    @MykytaKozlov 4 месяца назад

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

  • @n1359
    @n1359 7 месяцев назад

    Интересно, конечно, но графика это не все гетерогенные вычислители, которые существовали и существуют. Есть системы с разделяемой между хостом и вычислителем памятью, есть системы с FIFO, mailbox и ПДП, есть связь по Ethernet через backplane. Я не представляю, как эффективно абстрагировать эти механизмы чтобы подсунуть их компилятору и совместно программировать, как будто земля плоская) Потом, что делать с lsb msb в шареной памяти, если не повезёт с комбинацией железа?)
    А что, если хост просто не будет успевать загружать данные и команды для обработки вычислителем?
    В общем лекция как всегда очень интересная и познавательная, но название, как мне кажется, не совсем соответствует содержанию