Я переписал ядро так, чтобы оно симулировалось циклами на CPU, чтобы проверить проблема ли в GPU. Погрешность осталась, следовательно ошибка в коде скорее всего. Ищу ее…
Вот здесь результаты работы профайлера: ubuntuone.com/41OVwiE7NEd3fI9jALsFi6
Но, увы, я не понимаю, что это значит (я в CUDA новичек). Я был бы рад, если бы кто-то смог мне пояснить это.
У меня несколько вопросов:
1. Количество элементов тут должно быть кратно 4. Как исправить, чтобы работать с любым количеством.
2. Откуда кернел знает с каким индексом он работает?
3. Как использовать два кернела и запускать один после другого?