Почему я получаю предупреждение, когда использую рекурсию в CUDA?

Как вы можете видеть в документах mongo - поскольку индекс версии 3.2 $text по умолчанию не чувствителен к регистру: https://docs.mongodb.com/manual/core/index-text/#text-index -фаза-нечувствительность

Создайте текстовый индекс и используйте текстовый оператор в вашем запросе .

1
задан Reaver 31 January 2019 в 14:12
поделиться

1 ответ

CUDA поддерживает рекурсию. Когда вы используете рекурсию в CUDA, это предупреждение ожидается, и нет никакого документированного NVIDIA способа, которым вы можете убрать предупреждение (кроме как без использования рекурсии).

Если вы используете функцию рекурсивно, в большинстве языков она будет использовать больше места в стеке при увеличении глубины рекурсии. Это верно и в CUDA. Вы должны учитывать это и обеспечить достаточно места в стеке для максимальной ожидаемой глубины рекурсии. Обычной практикой является ограничение глубины рекурсии, чтобы предотвратить проблемы со стеком.

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

Независимо от того, насколько вы увеличите размер стека, предупреждение не исчезнет. Предупреждение должно дать вам понять, что вы несете ответственность за то, чтобы ваш рекурсивный дизайн вместе с выделенным пространством стека работал правильно. Компилятор никоим образом не проверяет, достаточно ли увеличения размера стека.

0
ответ дан Robert Crovella 31 January 2019 в 14:12
поделиться
Другие вопросы по тегам:

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