Ядро PyOpenCL не возвращается

#opencl #raytracing #pyopencl

Вопрос:

Я впервые играю с PyOpenCL, написав трассировщик лучей, настоящий оригинал. Я сталкиваюсь с интересной проблемой, из-за которой иногда мое ядро opencl не закрывается. На некоторое время это было «исправлено» введением printf оператора в функцию цвета луча. Честно говоря, я не уверен, где находится код-нарушитель, из-за которого трудно опубликовать минимальный пример моей проблемы. вот мой репозиторий github, содержащий код.

Я даже не уверен, с чего начать отладку, видя, как я впервые использую эту технологию.

Комментарии:

1. Можете ли вы подробнее остановиться на «не закрывается»? Вы имеете в виду, что вызов python для включения вашего ядра ( эквивалент clEnqueNDRangeKernel pyopencl ) зависает? У вас может быть непреднамеренный бесконечный цикл в вашем ядре. Возможно, ваш призыв к тому, чтобы printf сократить цикл? Лично я не использовал printf в своих собственных ядрах, поэтому я не уверен, есть ли printf какая-либо нестабильность, которая может привести к преждевременному завершению работы ядра.