2.4K Star 8.2K Fork 4.4K

GVPMindSpore / mindspore

 / 详情

GPU A100 CUDA:11.6 算子测试运行效率低,测试了ops.add()、ops.BatchMatMul()运行15~18min才出结果

ACCEPTED
RFC
创建于  
2022-06-07 11:07
name about labels
Bug Report Use this template for reporting a bug kind/bug

Describe the current behavior

GPU A100 CUDA:11.6 算子测试运行效率低,测试了ops.add()、ops.BatchMatMul()运行15-18min才出结果
同步对比测试用例在V100:CUDA 11.4和NPU 910 在10-20s出结果。
相同机器和镜像环境,安装pytorch进行算子测试,均1s内出结果

Environment

  • GPU A100
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2022 NVIDIA Corporation
    Built on Tue_Mar__8_18:18:20_PST_2022
    Cuda compilation tools, release 11.6, V11.6.124
    Build cuda_11.6.r11.6/compiler.31057947_0

  • Software Environment:
    -- MindSpore 1.6.1
    -- Python 3.7.5
    -- Ubuntu 20.04.4 LTS
    -- gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)

  • Excute Mode:

docker 环境下

Related testcase / 关联用例 (Mandatory / 必填)

from mindspore import Tensor
import numpy as np
import mindspore
import mindspore.ops as ops
x = Tensor(np.ones(shape=[2, 4, 1, 3]), mindspore.float32)
y = Tensor(np.ones(shape=[2, 4, 3, 4]), mindspore.float32)
batmatmul = ops.BatchMatMul()
print(batmatmul(x, y))

或者

import numpy as np
from mindspore import Tensor
import mindspore.ops as ops
import mindspore.context as context

context.set_context(device_target="GPU")
x = Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))

两个测试用例运行时长均在15-18分钟左右,可看到显存分配占用过程。
同步对比测试用例在V100:CUDA 11.4和NPU 910 在10-20s出结果。

Steps to reproduce the issue

  1. 登陆A100机器
  2. pull docker镜像:docker pull hengtao2/mindspore:gpu_ms_1.6.1
  3. 启动镜像:docker run -it --runtime=nvidia --cap-add=IPC_LOCK --device=/dev/infiniband/uverbs0 --device=/dev/infinibandev/infiniband/rdma_cm --privileged --net=host -v /home//:/tmp Images_ID:mindspore:gpu_ms_1.6.1 /bin/bash
  4. 运行测试用例:如上两例

Describe the expected behavior

算子运行效率在秒级

Related log / screenshot / 日志 / 截图 (Mandatory / 必填)

算子运行测试截图
输入图片说明

Special notes for this issue

GPU A100运行paugu模型出现如果所示报错,定位到测试相关算子,发现算子运行效率低
输入图片说明

评论 (5)

taoht 创建了Bug-Report

Please assign maintainer to check this issue.
请为此issue分配处理人。
@fangwenyi @chengxiaoli

Please add labels (comp or sig), also you can visit https://gitee.com/mindspore/community/blob/master/sigs/dx/docs/labels.md to find more.
为了让代码尽快被审核,请您为Pull Request打上 组件(comp)或兴趣组(sig) 标签,打上标签的PR可直接推送给责任人进行审核。
更多的标签可以查看https://gitee.com/mindspore/community/blob/master/sigs/dx/docs/labels.md
以组件相关代码提交为例,如果你提交的是data组件代码,你可以这样评论:
//comp/data
当然你也可以邀请data SIG组来审核代码,可以这样写:
//sig/data
另外你还可以给这个PR标记类型,例如是bugfix或者是特性需求:
//kind/bug or //kind/feature
恭喜你,你已经学会了使用命令来打标签,接下来就在下面的评论里打上标签吧!

taoht 修改了描述
taoht 修改了描述
fangwenyi 任务状态TODO 修改为ACCEPTED
fangwenyi 添加了
 
approved
标签
fangwenyi 移除了
 
approved
标签
fangwenyi 添加了
 
mindspore-assistant
标签
fangwenyi 关联项目设置为MindSpore Issue Assistant
fangwenyi 任务类型Bug-Report 修改为RFC
fangwenyi 负责人设置为liangchenghui

慢的问题可能是gpu的初始化慢,可以尝试同个用例里,多次调用add, 看是否只是第一次慢

是这样,但是请查看上述:
同步对比测试用例在V100:CUDA 11.4和NPU 910 在10-20s出结果。

目前适配版本是11.1。是和TF/Pytorch保持一致的。
11.6版本有点高,目前还没适配计划

liangchenghui 负责人liangchenghui 修改为chengang
Shawny 添加了
 
sig/ops
标签

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(4)
6561470 liangchenghui 1584762793
Python
1
https://gitee.com/mindspore/mindspore.git
git@gitee.com:mindspore/mindspore.git
mindspore
mindspore
mindspore

搜索帮助