Мое приложение MPI имеет некоторый процесс, который генерирует большие данные. Скажем, у нас есть N + 1 процесс (один для главного управления, другие - рабочие), каждый из рабочих процессов генерирует большие данные, которые теперь просто записываются в обычный файл с именем file1, file2, ..., fileN. Размер каждого файла может быть совершенно разным. Теперь мне нужно отправить весь файлM для ранга M, чтобы выполнить следующую работу, так что это точно так же, как и для всей передачи данных.
Моя проблема в том, как мне использовать MPI API для эффективной отправки этих файлов? Раньше я использовал папку общего доступа Windows для их передачи, но я думаю, что это не очень хорошая идея.
Я думаю о MPI_file и MPI_All_to_all, но эти функции, похоже, не очень подходят для моего случая. Простые MPI_Send и MPI_Recv, кажется, трудно использовать, потому что каждый процесс должен передавать большие данные, а я пока не хочу использовать распределенную файловую систему.