Я новичок в кластерном программировании. У меня есть кластер из 6 компьютеров, и я хочу реализовать код, состоящий из нескольких потоков, чтобы эти потоки выполнялись на разных компьютерах, а затем возвращать выходные данные на главный компьютер.
Как я могу реализовать такую задачу? Я пытался использовать pvm и mpich2, но не смог найти такие положения. Пожалуйста помоги.
Взгляните на hpx. Это в https://github.com/STEllAR-GROUP/hpx
Вот ссылка на pdf презентации о hpx на c ++ сейчас
Когда вы говорите, что хотите иметь несколько потоков на нескольких машинах, вы имеете в виду потоки на этих машинах, а не процессы? Если так, то почему? MPI в целом (будь то Open MPI, MPICH или какая-либо другая реализация) делает именно это и может даже комбинироваться с Open MP для обеспечения многопоточности на этих машинах. Быстрый поиск в Google, вероятно, предоставит тысячи учебных пособий о том, как это настроить.
Однако работа этих библиотек потребует некоторых изменений в коде с вашей стороны. Они не волшебные. Вам необходимо явно передать важные данные с помощью сообщений. Есть много полезных функций, чтобы сделать это максимально эффективным.