Вопросы по теме '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 просмотров
schedule
04.08.2022