Я пытаюсь распараллелить мой код, и я использую дерево AABB CGAL для обнаружения помех (довольно хорошая эффективность, кстати :)).
Нет проблем на одном компьютере (я не говорю, что он многопоточный, но это уже другая история), но теперь я хочу сделать несколько анализов одновременно, и я собираюсь использовать MPI для порождения своего программного обеспечения на несколько компьютеров. Препятствия не меняются в разных анализах, поэтому мое дерево AABB одинаково для всех детей.
Чтобы минимизировать накладные расходы, я бы хотел избежать повторного чтения и пересоздания моего дерева, а на самом деле даже не операции записи файла / чтения файла.
Через SPAWN функции MPI я могу передать массив строк дочернему элементу, и я хотел бы передать дерево AABB вместе с другими глобальными переменными в качестве аргументов, чтобы пропустить часть файла, связанную с чтением, из-за издержек.
1-й вопрос: это будет означать передачу что-то вроде 1.5MB + в argv, что-то не так с этим?
2-й вопрос: как мне пройти дерево? Я прочитал что-то интересное в этом нить но он старый, и нет никаких последующих действий. Есть ли кто-нибудь, кто сделал сериализацию в то же время? Есть ли новая инструкция для этого? В противном случае я попытаюсь сделать такую функцию, по крайней мере, в моем случае (т.е. ядро Simple_cartesian, примитивы Triangle_3). Любая помощь приветствуется 🙂
К сожалению, ответ в указанной вами цепочке все еще действителен: CGAL не предлагает ничего, что могло бы помочь сериализации дерева AABB. Какой тип примитива у вас есть в вашем дереве AABB?
Других решений пока нет …