Open zhudequan9 opened 2 months ago
收到您的问题,我让我们api负责人看一下。 @jerrywgz 辛苦帮忙看下这个问题
使用gpu计算卷积会调用cudnn算法,可能会存在计算顺序和cpu不一致,可以尝试下几个flag
export FLAGS_embedding_deterministic=1
export FLAGS_cudnn_deterministic=1
export NVIDIA_TF32_OVERRIDE=0
export NCCL_ALGO=Tree
我在A100上测试paddle 3.0beta版本是能对齐的,配置可以看下面的日志
使用gpu计算卷积会调用cudnn算法,可能会存在计算顺序和cpu不一致,可以尝试下几个flag
export FLAGS_embedding_deterministic=1 export FLAGS_cudnn_deterministic=1 export NVIDIA_TF32_OVERRIDE=0 export NCCL_ALGO=Tree
我在A100上测试paddle 3.0beta版本是能对齐的,配置可以看下面的日志
感谢您的回复! 我加上了export指令,用registry.baidubce.com/paddlepaddle/paddle:3.0.0b1-gpu-cuda11.8-cudnn8.6-trt8.5测试后,也没有完全对齐。
我再对比下,现在看起来你这里gpu的计算精度和我这边是一致的,cpu有微小差异
是否可以发下CPU对应的型号呢
bug描述 Describe the Bug
BUG:
一个仅包含2层Conv2D的模型,分别设置在CPU和GPU上,提取相同权重,输入相同数据; 对比输出结果:只有三位有效数字对齐。
测试环境
测试环境是用官方docker: https://www.paddlepaddle.org.cn/documentation/docs/zh/install/docker/docker_list.html 中的registry.baidubce.com/paddlepaddle/paddle:2.6.1-gpu-cuda12.0-cudnn8.9-trt8.6
官方docker镜像【BUG】:
发现有两个镜像里面并没有paddle【registry.baidubce.com/paddlepaddle/paddle:latest-dev-cuda11.8-cudnn8.6-trt8.5-gcc82】和【registry.baidubce.com/paddlepaddle/paddle:latest-dev-cuda12.3-cudnn9.0-trt8.6-gcc12.2】
测试代码【模型权重文件附在最后】
输出结果
Process finished with exit code 0