环境要求
同rdma_demo中的环境要求。
使用方式
1.在shmem/目录编译:
bash scripts/build.sh -enable_rdma -examples
2.直接在examples/rdma_perftest目录下执行bash run.sh;或者在shmem/目录运行:
-
单机2卡执行命令
export PROJECT_ROOT=<shmem-root-directory> export LD_LIBRARY_PATH=${PROJECT_ROOT}/build/lib:$LD_LIBRARY_PATH ./build/bin/rdma_perftest 2 0 tcp://127.0.0.1:8899 2 0 0 highlevel_put_pingpong_latency 64 # PE 0 ./build/bin/rdma_perftest 2 1 tcp://127.0.0.1:8899 2 0 0 highlevel_put_pingpong_latency 64 # PE 1注:<shmem-root-directory>为SHMEM项目的根目录。
-
跨机2卡执行命令
假设机器A的ip为ip1,机器B的ip为ip2。 在机器A执行如下命令:
export PROJECT_ROOT=<shmem-root-directory> export LD_LIBRARY_PATH=${PROJECT_ROOT}/build/lib:$LD_LIBRARY_PATH ./build/bin/rdma_perftest 2 0 tcp://ip1:8765 1 0 0 highlevel_put_pingpong_latency 64 # PE 0同时,在机器B执行如下命令:
export PROJECT_ROOT=<shmem-root-directory> export LD_LIBRARY_PATH=${PROJECT_ROOT}/build/lib:$LD_LIBRARY_PATH ./build/bin/rdma_perftest 2 1 tcp://ip1:8765 1 1 0 highlevel_put_pingpong_latency 64 # PE 1注:<shmem-root-directory>为SHMEM项目的根目录。
3.命令行参数说明
./rdma_perftest <n_pes> <pe_id> <ipport> <g_npus> <f_pe> <f_npu> <test_type> <msg_len>
- n_pes: 全局PE数量,只支持2个PE。
- pe_id: 当前进程的PE号。
- ipport: SHMEM初始化需要的IP及端口号,格式为tcp://:<端口号>。如果执行跨机测试,需要将IP设为PE0所在Host的IP。
- g_npus: 当前机器上启动的NPU卡的数量。
- f_pe: 当前机器上使用的第一个PE号。
- f_npu: 当前机器执行本样例使用的第一张NPU卡的卡号
- test_type: 测试类型。
- highlevel_put_pingpong_latency:测试Put高阶接口的pingpong时延。
- postsend_cost: 测试postsend接口耗时。
- highlevel_put_bw: 测试Put高阶接口的带宽。
- rdma_mte_bw: 测试并行下发MTE和RDMA时的带宽。
- msg_len: 测试传输的数据量大小,单位为字节(Byte)。