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

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

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

6 ответов

28 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта