mpi4py测试

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
################################################################
# Copyright 2023 Dong Zhaorui. All rights reserved.
# Author: Dong Zhaorui 847235539@qq.com
# Date  : 2023-04-24
################################################################

import time
from mpi4py import MPI


def main():
    mpi_comm = MPI.COMM_WORLD
    rank = mpi_comm.Get_rank()

    if rank == 0:
        print("#### gather start ####")
        time.sleep(1.0)

    gather_start_time = time.time()
    rank_list = mpi_comm.gather(rank, root=0)
    print(
        f"rank{rank} rank_list: {rank_list}; spend time: {time.time()-gather_start_time}"
    )

    if rank == 0:
        print("#### gather over ####\n")
        print("#### scatter start ####")
        time.sleep(1.0)

    scatter_start_time = time.time()
    get_rank = mpi_comm.scatter(rank_list, root=0)
    print(
        f"rank{rank} get_rank: {get_rank}; spend time: {time.time()-scatter_start_time}"
    )

    if rank == 0:
        print("#### scatter over ####\n")
        print("#### bcast start ####")
        time.sleep(1.0)

    bcast_start_time = time.time()
    get_rank_list = mpi_comm.bcast(rank_list, root=0)
    print(
        f"rank{rank} get_rank_list: {get_rank_list}; spend time: {time.time()-bcast_start_time}"
    )

    if rank == 0:
        print("#### bcast over ####")


if __name__ == '__main__':
    main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IBN_Blank

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值