Я рассматриваю интересную проблему, в которой возможно повысить производительность по сравнению с обычной программой, позволяя ядрам записывать свои выводы в память без какой-либо синхронизации.
Я вычисляю вокселизацию от me sh, и для заполнения вокселей на внутренней стороне me sh не требуется. Это делает проблему проще.
Я надеюсь применить очень простой алгоритм, в котором ядро просто вычисляет воксели, которые пересекают треугольник, и распределяет ядро по каждому треугольнику me sh.
Моя текущая идея - просто заставить ядро записать значение вокселей, которое оно вычисляет как пересекающее треугольник, без применения какой-либо синхронизации. Для меня не имеет значения количество треугольников, которых касается конкретный воксель, меня волнует только то, что я гарантирую идентификацию всех вокселей, которые касаются любого треугольника.
Таким образом, вопрос заключается в том, могу ли я ожидать, что этот простой подход «просто сработает», или существует ли возможное состояние гонки, при котором воксел, уже помеченный как занятый, может в конечном итоге очиститься?
Если проблема возможна, то разрешит ли атом хранилища c (и приведет к снижению производительности) проблему?