Mpi4py односторонний тестовый скрипт MPIPython

Программы на Python
Ответить
Anonymous
 Mpi4py односторонний тестовый скрипт MPI

Сообщение Anonymous »

Я пытаюсь установить mpi-sppy, но мне приходится выполнять базовый тестовый сценарий, чтобы убедиться, что односторонние вызовы MPI работают. Я использую MPICH в Ubuntu 22.04 в Windows 11 от WSL2. Версии: mpi4py==4.0.1 и MPICH Version:4.0.
В строке 49 я получаю ошибку утверждения. Попытавшись выяснить, что может произойти, я обнаружил, что win.Lock(0) в строке 45 ожидает win.Lock(1) в строке 37. Так ли это и должно быть? работает - значит ошибка в тестовом скрипте?
start = time.time()
if (rank == 0):
buff[:] = 3. * np.ones(array_size, dtype='d')
print(f"rank {rank} - {time.time()-start}: going to sleep")
time.sleep(3)
print(f"rank {rank} - {time.time()-start}: woke up")
buff[:] = np.arange(array_size)

print(f"rank {rank} - {time.time()-start}: ready for lock")
win.Lock(1)
print(f"rank {rank} - {time.time()-start}: locked")
win.Put((buff, array_size, mpi.DOUBLE), target_rank=1)
print(f"rank {rank} - {time.time()-start}: Put")
win.Unlock(1)

elif (rank == 1):
buff = np.ones(array_size, dtype='d')
print(f"rank {rank} - {time.time()-start}: going to sleep")
time.sleep(1)
print(f"rank {rank} - {time.time()-start}: woke up")

print(f"rank {rank} - {time.time()-start}: ready for lock")
win.Lock(0)
print(f"rank {rank} - {time.time()-start}: locked")
win.Get((buff, array_size, mpi.DOUBLE), target_rank=0)
print(f"rank {rank} - {time.time()-start}: Get")
win.Unlock(0)

привело
rank 1 - 1.0728836059570312e-05: going to sleep
rank 0 - 0.00027298927307128906: going to sleep
rank 1 - 1.0001559257507324: woke up
rank 1 - 1.000209093093872: ready for lock
rank 0 - 3.000467300415039: woke up
rank 0 - 3.0005922317504883: ready for lock
rank 0 - 3.000704050064087: locked
rank 1 - 3.0007107257843018: locked
rank 0 - 3.002230405807495: Put
rank 1 - 3.002246618270874: Get


Подробнее здесь: https://stackoverflow.com/questions/791 ... est-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»