#opencl #raytracing #pyopencl
Вопрос:
Я впервые играю с PyOpenCL, написав трассировщик лучей, настоящий оригинал. Я сталкиваюсь с интересной проблемой, из-за которой иногда мое ядро opencl не закрывается. На некоторое время это было «исправлено» введением printf
оператора в функцию цвета луча. Честно говоря, я не уверен, где находится код-нарушитель, из-за которого трудно опубликовать минимальный пример моей проблемы. вот мой репозиторий github, содержащий код.
Я даже не уверен, с чего начать отладку, видя, как я впервые использую эту технологию.
Комментарии:
1. Можете ли вы подробнее остановиться на «не закрывается»? Вы имеете в виду, что вызов python для включения вашего ядра ( эквивалент
clEnqueNDRangeKernel
pyopencl ) зависает? У вас может быть непреднамеренный бесконечный цикл в вашем ядре. Возможно, ваш призыв к тому, чтобыprintf
сократить цикл? Лично я не использовалprintf
в своих собственных ядрах, поэтому я не уверен, есть лиprintf
какая-либо нестабильность, которая может привести к преждевременному завершению работы ядра.