2015-09-02 3 views
0

Я пытаюсь использовать динамический параллелизм Кеплера для одного из моих приложений. Глобальный индекс потока (в родительском ядре), запускающий дочернее ядро, необходим в дочернем ядре. Другими словами, я хочу получить доступ к встроенным координатным переменным родителя в дочернем ядре.Доступ к встроенной переменной CUDA в дочернем ядре

Есть ли канонический способ сделать это? Или я должен просто вычислить глобальный индекс родительского потока (используя встроенные переменные, такие как threadIdx.x и т. Д.) И передать его через один аргумент дочернего ядра?

ответ

3

Передайте его из родительского ядра в дочернее ядро ​​через параметр ядра.

В дочернем ядре нет доступа к встроенным переменным потока родителя (например, threadIdx.x, blockIdx.x и т. Д.).

+1

Ударьте меня в это. Передача структуры threadIdx и blockIdx dim3 по значению является самым простым способом, я думаю – talonmies

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