Ну так вдаваться в его подробности и не нужно - достаточно знать что расчет разными нитками должен производиться на непересекающихся кусках данных. Такой случай довольно типичен.
Если ничего не знать о природе точек, то это превращается в УГ.
На первый взгляд, нужно разбить данные на не пересекающиеся куски, а потом обработать, и на ум приходит MapReduce и Qt Concurrent.
А вот задача о независимом множестве относиться к NP-полным задачам, что и угнетает.