x64 против x86 для CUDA

В этой теме x64 позволяет меньше потоков на блок, чем Win32? возникли вопросы об исчерпании реестров. У меня сложилось впечатление, что Nvidia отказалась от поддержки x86 в CUDA 7.5 и более поздних версиях. Это может быть глупым вопросом, но означает ли это, что для всех указателей потребуется два регистра вперед? И что потенциально меньше потоков / блоков будет способ, которым все будет идти вперед?

1

Решение

Это может быть глупым вопросом, но означает ли это, что для всех указателей потребуется два регистра вперед?

Да. Все указатели в режиме x64 потребуют 2 (32-разрядных) регистра для хранения.

И что потенциально меньше потоков / блоков будет способ, которым все будет идти вперед?

Конечно, не должно быть никакого влияния на количество блоков, которые могут быть запущены. Что касается потоков, то да, это потенциально может повлиять на количество потоков в блоке (так как произведение количества потоков на количество запущенных регистров на поток должно быть меньше, чем ограничение компьютера), но, как я уже говорил в своем ответе на вопрос, который вы связали, ограничение на потоки обычно можно обойти, используя один из нескольких методов, упомянутых там. Многие ядра не будут затронуты, потому что они не «против предела». Для тех ядер, которые «превышают предел», существуют хорошо разработанные методы, чтобы смягчить эффект и позволить вам запускать желаемое количество потоков на блок до 1024.

В конечном итоге это означает, что представленная проблема не является возможность настолько, насколько это один из оптимизация производительности, какая проблема всегда будет присутствовать.

4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector