2012-09-08 4 views
0

Я запускаю приложение, которое требует около 16384 потоков. Но после экспериментов я заметил, что CUDA не может запускать потоки за пределами некоторого числа. Поэтому, особенно в моем приложении, каждый раз запускается 14337 потоков, но кроме того, нитки не запускаются.CUDA не запускает потоки?

В чем причина?

Sys: Tesla C2070 Linux 32bit

+0

Вы проверяете возвращаемые значения для каждого из вызовов CUDA, включая запуск ядра? –

+0

Да нет ошибки! Что может быть? Ошибка в драйвере? Использование CUDA 5.0 RC1 –

+0

Застряло с последнего часа –

ответ

1

Можете ли вы быть немного более конкретно о том, как запустить ядро? Это просто дикая догадка, но для меня это звучит так, будто ваши блоки потока слишком велики. Как вы уже знаете, вы не можете запускать только потоки 16k в одном поточном блоке. Может быть, полезно this SO thread. Максимальное количество потоков на блок для вашего GPU должно быть 1024, поэтому вам необходимо организовать свои потоки в нескольких блоках потоков. Было бы также интересно посмотреть, как вы проверяете, запускаются ли только потоки 14k (какой-то исходный код поможет).

Смежные вопросы