Вопросы по теме 'mpi4py'

Проблема появления с mpi4py в дистрибутиве Anaconda Python
mpi4py.MPI.COMM_SELF.Spawn , похоже, выдает ошибки при использовании дистрибутива Anaconda Python. Мой вопрос заключается в том, возможно ли, что mpi4py каким-то образом построен против неправильной версии MPI (mpich v openmpi) в моей установке...
1928 просмотров
schedule 05.08.2023

Запуск программы helloworld.py в сетке с использованием slurm
Это длинный вопрос, поэтому сначала я дам резюме: Я новичок в параллельном программировании и грид-системах. Я хочу запустить первый пример в http://jeremybejarano.zzl.org/MPIwithPython/introMPI.html в сетке У меня есть аккаунт. Сопровождающие...
4455 просмотров
schedule 25.05.2022

Шаблоны проектирования в MPI: спящий корневой процесс при блокировке отправки и правильная балансировка нагрузки
Я запускаю код MPI на Python, используя mpi4py, который выглядит примерно так: from mpi4py import MPI import numpy as np import os comm = MPI.COMM_WORLD rank = comm.Get_Rank() size = comm.Get_Size() if rank == 0: res = np.zeros(2**16) jobs =...
1638 просмотров
schedule 09.12.2022

не может отправлять сообщения MPI определенной длины
Я использую mpi4py 2.0.0, созданный для OpenMPI 1.10.1, в системе Ubuntu 14.04.3 с Python .7.10. По какой-то причине попытка отправки сообщения размером более 64 Кб приводит к зависанию отправки/получения; однако я могу успешно отправлять большие...
445 просмотров
schedule 16.11.2022

os.chdir() не работает с порождением mpi4py
У меня есть небольшой тестовый код, который действует как ферма задач. Идея состоит в том, что список задач будет отправлен группе процессов, порожденных mpi4py, которые, в свою очередь, перейдут в каталог запуска и порождают исполняемый файл mpi в...
248 просмотров
schedule 23.08.2022

comm.Scatter KeyError с mpi4py
Я новичок в MPI и mpi4py. У меня есть две проблемы со следующим кодом. Во-первых, данные ранга 0 не печатаются, в то время как данные типа «Нет» в других рангах печатаются. Во-вторых, я получаю ошибку KeyError '0' от функции comm.Scatter(),...
844 просмотров
schedule 12.05.2023

Количество процессоров MPI создает ошибку, как реализовать широковещательную рассылку?
Я создал программу на Python для вычисления числа пи. Затем я решил написать его с помощью mpi4py для запуска с несколькими процессами. Программа работает, но возвращает значение pi, отличное от исходной версии Python. По мере изучения этой...
213 просмотров
schedule 22.10.2022

Как использовать mpi4py для итерации списка объектов, размер которых больше, чем количество процессоров
Я пытаюсь распараллелить 4 000 000 вычислений на 32 узлах (по 16 ядер в каждом). Возможно ли, что я закончу эти вычисления за одно задание, используя модуль mpi4py в Python, если позволяет ограничение времени? Например, если один процессор...
447 просмотров
schedule 19.02.2023

Как узнать количество ядер, доступных для MPI(4PY)?
Как узнать количество ядер, доступных для MPI(4PY)? Мотивация Моя программа на Python создает экземпляры MPI иерархически. Первый спаун всегда происходит и создает 4 экземпляра. Увеличивать это число не имеет смысла из-за структуры моих...
3574 просмотров
schedule 06.07.2023

MPI Scatterv для вспомогательного коммуникатора (с использованием COMM_WORLD.Split()) не работает должным образом
Я запускаю скрипт ниже, используя mpirun -n 40 python script.py . Цель состоит в том, чтобы распараллелить функцию func. Здесь происходит то, что пул из 40 «рабочих» разделен на 5 блоков по 8 «рабочих» (каждый блок имеет свой цвет, конечно). Я...
316 просмотров
schedule 06.11.2022

Несоответствие производительности mpi4py после профилирования
Я немного поработал с массивами MPI4py и недавно обнаружил увеличение производительности после использования функций Scatterv() . Я разработал код для проверки типа данных входного объекта, и, если это числовой массив numpy, он выполняет рассеяние с...
209 просмотров
schedule 04.08.2023

Как исправить ошибку pickle.unpickling, вызванную вызовами subprocess.Popen в параллельном скрипте, использующем mpi4py
Повторяющиеся последовательные вызовы subprocess.Popen() в сценарии, распараллеленном с mpi4py, в конечном итоге вызывают то, что кажется повреждением данных во время связи, что проявляется в виде ошибки pickle.unpickling различных типов (я видел...
342 просмотров
schedule 23.02.2023

Рассеивание больших массивов MPI4PY приводит к взаимоблокировке
Я пытаюсь разбросать массив размером (3 512 512,48,2) с типом данных двойной точности np.float64 между 3 процессами, используя Scatter() : # mpirun -np 3 python3 prog.py import numpy as np from mpi4py import MPI if __name__ == "__main__":...
253 просмотров
schedule 24.05.2023

Невозможно установить mpi4py с помощью conda И указать предварительно установленный путь mpicc
Я попытался установить mpi4py с помощью: env MPICC=path/to/openmpi/bin/mpicc conda install -c anaconda mpi4py Но я получаю это сообщение: The following NEW packages will be INSTALLED: mpi...
2585 просмотров
schedule 23.06.2023

Дочерние процессы Fortran (или C++ или python), созданные из python с помощью Spawn(), не будут отключаться при объединении внутренних и внутренних коммуникаторов.
Я пытаюсь распараллелить небольшую часть моего кода Python в Fortran90. Итак, для начала я пытаюсь понять, как работает функция нереста. Во-первых, я попытался создать дочерний процесс в python из родительского процесса python. Я использовал...
160 просмотров
schedule 19.11.2022

mpi4py не позволяет мне отправлять и получать массив с dtype = object
У меня есть пустой массив dtype = object, который я пытаюсь отправить и получить с помощью comm.Send() и comm.Recv, но я сталкиваюсь с ошибками и не могу его отладить. Массив, который я пытаюсь отправить, состоит из 2 столбцов: 1 столбца строк и 1...
152 просмотров
schedule 18.03.2023

Ошибка не может найти mpi.h при установке mpi4py
Я использую Windows, это дает мне эту ошибку: удаление: ошибка _configtest.c _configtest.obj: Не удается скомпилировать программы MPI. Проверьте свою конфигурацию!!! я попытался установить apt libopenmpi-dev, но машина не знает apt
15 просмотров
schedule 04.04.2023

Проверка всех рангов верна без использования сбора и разброса mpi4py
Я пытаюсь общаться между процессами, чтобы каждый процесс был уведомлен, когда все остальные процессы готовы. Фрагмент кода ниже делает это. Есть ли более элегантный способ сделать это? def get_all_ready_status(ready_batch): all_ready=...
61 просмотров