Результаты поиска по запросу "mpi"

1 ответ

Используйте Eclipse PTP. Он имеет встроенную поддержку программ на основе MPI.

тствую всех! Я студент, и в настоящее время у меня возникли проблемы с настройкой блока кода. Кто-нибудь может мне помочь или подсказать, как настроить Code Block, чтобы он мог запускать MPI? Я уже установил Code Block и MPICH2. Но когда я ...

3 ответа

Опять же, не тратьте слишком много времени на попытки упорядочить вывод программ MPI. Это не практично и бесполезно.

я возникли некоторые проблемы синхронизации с использованием реализации MPMP_Barrier OpenMPI: int rank; int nprocs; int rc = MPI_Init(&argc, &argv); if(rc != MPI_SUCCESS) { fprintf(stderr, "Unable to set up MPI"); MPI_Abort(MPI_COMM_WORLD, rc); ...

1 ответ

Знаете, возможно, можно использовать mpi_type_create_resized, чтобы «размер» структуры составлял всего один символ, так что следующий будет сразу же после этого ... Хотя я сомневаюсь, что это действительно так.

м, участвуют 2 процесса. Процесс 0 (ранг 0) имеет A = { a d b e c f }и процесс 1 (ранг 1) имеет A = { g h i }Я хочу, чтобы оба процессора отправили эти столбцы на ранг 0, чтобы ранг 0 имел следующее, скажем, в другом 2D-массиве. B = { a d g b ...

ТОП публикаций

1 ответ

@HristoIliev Пока я удалил неработающие ссылки, но это не решает другие проблемы.

ли пример использования схемы работа / пул (или. производитель / потребитель) для MPI? Что касается всего, что я сделал, я получаю только одно приложение, и мое приложение блокируется. Спасибо

1 ответ

 , Вы можете использовать этот подход и просто попросить всех проверить счетчик, прежде чем продолжить выполнение своих процессов. Обратите внимание, что это много сетевого трафика для каждого процесса для каждой итерации! Другой подход заключается в том, чтобы каждые несколько итераций делать allreduce или что-то подобное, чтобы увидеть, нашел ли кто-нибудь решение. Это, по крайней мере, немного более оптимизировано с точки зрения пропускной способности, но хорошо работает, только если итерации, вероятно, будут более или менее синхронными. Еще один подход заключается в том, чтобы процесс отправлял сообщения всем остальным, если они нашли ответ, и проверял наличие такого сообщения на каждой итерации (или на каждой из нескольких).

ользую MPI для поиска решения таким образом, чтобы разделить проблемное пространство между различными потоками. Каждая нить проходит черезfor цикл, и каждая итерация является кандидатом на решение. Проблема в том, что когда один поток находит ...

1 ответ

Есть идеи, почему в моем случае эта программа никогда не останавливается? (Переменная «done» никогда не читается как 1 в части «while (! done)». Я добавил туда «#pragma omp flush (done)», но это не помогает. Мой компилятор gcc 6.3.0 / Mac OS.

т ли вызов MPI_Barrier на каждый поток в процессе MPI или только на поток, который делает этот вызов? Для вашего сведения, мое приложение MPI будет работать с MPI_THREAD_MULTIPLE. Благодарю.

3 ответа

Привет, смотри мой edit2. Я сделал новый MPI_type_vector, но теперь я запутался, как передать правильные значения в scatter или даже в Send ... не могли бы вы помочь мне, пожалуйста?

у отправить столбцы 2D-массива, каждый для отдельного процесса. Теперь у меня есть целый массив 2d, и я застрял с MPI_Scatter. Как отправить целые столбцы в виде поля? Спасибо редактировать: У меня есть массив - плавать [100] [101] и я ...

1 ответ

Ух ты. Я думаю, что я не понял, как работает mpi_gather ... Большое спасибо. Я собираюсь напечатать ваш ответ и принять его как памятку.

жен решить небольшую проблему MPI. У меня есть 4 подчиненных процесса, и каждый из них хочет отправить 2d-подмассив (CHUNK_ROWS X CHUNK_COLUMNS) мастеру 0. Мастер 0 собирает все чанки в ddd [ROWS] [COLUMNS] и печатает его. Я хочу использовать ...

1 ответ

Большое спасибо, вы помогли понять принцип MPI.

ервая мысль былаMPI_Scatter и распределение буфера отправки должно использоваться вif(proc_id == 0) пункт, потому что данные должны быть разбросаны только один раз, и каждому процессу требуется только часть данных в буфере отправки, однако это не ...

2 ответа

Ваши данные должны быть в непрерывном блоке памяти. Тогда просто MPI_send весь блок сразу

ема, которую я пытаюсь решить, заключается в следующем: Серийный код C ++, который у меня есть, вычисляется по большой двумерной матрице. Чтобы оптимизировать этот процесс, я хочу разделить эту большую 2D-матрицу и запустить на 4 узлах (скажем), ...