В чем разница между Boost.MPI и Boost.Interprocess? - PullRequest
3 голосов
/ 03 декабря 2009

Полагаю, Boost.MPI и Boost.Interprocess разные, верно?

Что с точки зрения производительности, что быстрее? Кто-нибудь когда-нибудь делал бенчмаркинг?

Могу ли я использовать их для передачи данных в одном и том же процессе (т. Е. В разных потоках)?

Спасибо!

1 Ответ

19 голосов
/ 03 декабря 2009

Они совершенно разные. Boost MPI предназначен для параллельных / распределенных вычислений (например, для супер-параллельных суперкомпьютеров). Это требует существующей установки MPI (Message Passing Interface), такой как OpenMPI. MPI обычно используется с высокопроизводительными кластерами сетевых компьютеров или с суперкомпьютерами. Библиотека Boost MPI - это просто приятная оболочка для обычных вызовов функций MPI.

Boost.Interprocess, с другой стороны, представляет собой API для IPC (межпроцессное взаимодействие), т. Е. Для связи между двумя процессами на одном компьютере.

Если вы хотите обмениваться данными между процессами на одном компьютере, полезно использовать Boost.Interprocess. Но если, как вы предлагаете, вы просто хотите обмениваться данными между потоков , вам это не нужно. Вам просто нужен API потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...