Я хочу использовать операторы #include в моих ядрах OpenCL, но похоже, что компилятор Apple OpenCL кэширует ядра, поэтому, если вы изменяете содержимое включенного файла, но не файл, выполняющий включение, программа не будет меняться между запусками.
Я кодировал пример, который иллюстрирует это: http://github.com/enjalot/adventures_in_opencl/tree/master/experiments/inc/
Если вы компилируете и запускаете, все должно работать нормально.Затем, если вы закомментируете определение структуры в inc.cl, оно все равно будет работать нормально (или что-то изменить в lvl2.cl)
Используя компилятор NVIDIA в Ubuntu, вы получите ожидаемое поведение.
Так есть ли способ заставить clBuildProgram перекомпилировать ядро?