2016-11-19 6 views
0

Есть ли способ пройти std::unique_ptr и std::shared_ptr через MPI отправить/получить? Есть ли способ отправить объект класса в MPI, Я знаю, что можно передать структуру, но как насчет объектов?как пройти std :: unique_ptr в MPI?

ответ

2

Нет. Различные процессы MPI имеют разные адресные пространства. Указатели, включая интеллектуальные указатели на C++, не имеют смысла для другого процесса, поэтому нет смысла передавать их.

Вместо этого вам необходимо передать базовые объекты. Один из способов сделать это - использовать сериализацию и Boost.MPI.

В конце концов вам нужно подумать о параллельных структурах данных, что является сложной темой, и нет общей рекомендации.