2015-01-16 7 views
0

Я новичок на форуме, и я надеюсь, что вы поможете мне с моим вопросом. Недавно я разработал приложение, в котором я использовал потоки CUDA с целью перекрытия вычислений и передачи данных. Я выполнил это приложение на графическом процессоре Nvidia (архитектура Maxwell). Я заметил с помощью инструмента Visual Profiler, что некоторые передачи данных HostToDevice происходят одновременно. Графические процессоры Maxwell имеют только 2 механизма копирования. Один механизм копирования предназначен для передачи HostToDevice, а другой механизм копирования предназначен для переноса DeviceToHost, правильно ?. Имея это в виду, я думаю, что две передачи HostToDevice не могут возникать одновременно. Тем не менее, я наблюдал с Visual Profiler, что это поведение появляется в моем приложении. Итак, мой вопрос: в этой архитектуре возможно ли, что две передачи данных HostToDevice (или DeviceToHost) могут возникать одновременно ?.Перекрытие данных Передача данных в Maxwell (GPU Nvidia)

Большое вам спасибо.

ответ

4

Итак, мой вопрос: в этой архитектуре возможно ли, что две передачи данных HostToDevice (или DeviceToHost) могут происходить одновременно ?.

Нет, это невозможно.

Невозможно, чтобы две передачи происходили одновременно в одном направлении. Это, возможно, основано на PCI Express и не имеет ничего общего с CUDA. Когда выполняется экспресс-транзакция PCI в заданном направлении, никаких других транзакций в этом направлении не происходит. Либо вы неправильно интерпретируете вывод визуального профилировщика, либо визуальный профайлер имеет какую-то ошибку.

Наведите указатель мыши на определенные транзакции в визуальном профилировщике, вы можете получить дополнительную информацию об этом в окне в правой части экрана визуального профилировщика. Эта дополнительная информация должна включать время начала и окончания каждой транзакции (а также размер в байтах и ​​т. Д.). Я бы начал там, чтобы увидеть, считает ли визуальный профайлер, что они находятся в одном направлении и имеют одинаковое время начала.

+0

Thanks Robert Crovella –