169 похожих чатов

Добрый! Кто-нибудь знает почему запись в массив кортежей медленее чем

в кортеж массивов. Сейчас думаю как структуру памяти оптимизировать в CUDA - получается одно и тоже ядро в первом случае 70.440 μs, а во втором 56.152 μs - не кисло так... Как правильно-то? 🧐

6 ответов

11 просмотров

Грубо говоря из-за более эффективного использования кеша процессора. Ключевые слова для Гугла: memory alignment

Vladimir- Автор вопроса
Artem Korzhimanov
Грубо говоря из-за более эффективного использовани...

понятно, спасибо, получается что координаты надо хранить разными векторами 🤦‍♂

Vladimir
понятно, спасибо, получается что координаты надо х...

если только вектора координат, то это просто матрица.

Vladimir
понятно, спасибо, получается что координаты надо х...

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

Vladimir- Автор вопроса
Artem Korzhimanov
Да. Причём нередко бывает, что данные выгоднее пер...

получается со структурами в CUDA невыгодно работать...

Vladimir
получается со структурами в CUDA невыгодно работат...

Это в целом общий принцип. Про него даже в документации Julia написано в разделе про Performance, там, где про порядок прохода по индексам матрицы

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Any electron dev here?
Sayanth Tezro
12
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
Карта сайта