Те, що мені найбільше не подобається у MPI, - це мати типи даних (тобто карти даних / маски), оскільки вони не так добре вписуються в об'єктно-орієнтований C ++. boost::mpi
проте підтримує лише MPI 1.1 зі свого веб-сайту:
boost :: mpi - інтерфейс C ++ для стандартного інтерфейсу передачі повідомлень… Boost.MPI може створювати типи даних MPI для визначених користувачем типів за допомогою бібліотеки Boost.Serialization
Хтось мав досвід роботи з boost::mpi
серйозними науковими обчисленнями? Чи рекомендуєте ви це? Чи були у вас проблеми (проблеми зі масштабуванням, проблеми компілятора, помилки, не реалізовані функції, необхідність деяких функцій mpi 2.2)?
Чи можете ви прокоментувати використання boost::mpi
замість використання MPI C з C ++? Чи можете ви комбінувати обидва (використовуйте boost :: mpi, коли зможете, C-MPI в іншому місці)?
Чи знаєте ви якийсь великий науковий код, що використовує boost::mpi
?