测试docker GPU性能损失

NVIDIA 3090 利用HSOpticalFlow代码测试docker GPU性能损失

docker介绍图如下:

在这里插入图片描述
形象生动展示了他们之间的关系
今天要测试docker容器运行HSOpticalFlow算法的性能损失,包括CPU和GPU
上一篇博客
http://t.csdnimg.cn/YW5kE
我已经介绍了使用docker和nvidia containers toolkit使用容器复现的过程,加入计算时间的代码页贴出来了:
http://t.csdnimg.cn/InxW0
这篇文章与docker中的运行速度做比较
因为GPU需要预热,所以计算2000次求平均
CPU修改成10次求平均
修改上一篇博客的代码

	for (int i = 0; i < 1000; i++) {
        ComputeFlowCUDA(h_source, h_target, width, height, stride, alpha, nLevels, nWarpIters, nSolverIters, h_u, h_v);
    }
    cudaEventRecord(stopGPU);
    cudaEventSynchronize(stopGPU);
    cudaEventElapsedTime(&millisecondsGPU, startGPU, stopGPU);
    printf("Average GPU Processing time: %f ms\n", millisecondsGPU / 1000);

docker里运行速度:

	root@04feecd3dc8a:/workspace/cuda-samples-master/Samples/5_Domain_Specific/HSOpticalFlow# ./HSOpticalFlow 
HSOpticalFlow Starting...

GPU Device 0: "Ampere" with compute capability 8.6

Loading "frame10.ppm" ...
Loading "frame11.ppm" ...
开始计算,预计3分钟
Computing optical flow on GPU...
GPU Processing time: 31.399443 ms
Computing optical flow on CPU...
CPU Processing time: 10634 ms
L1 error : 0.044308


docker外运行速度:

yhp1szh@SZH-C-006RW:/mnt/workspace/xiebell/pytorch2404/cuda-samples-master/Samples/5_Domain_Specific/HSOpticalFlow$ ./HSOpticalFlow 
HSOpticalFlow Starting...

GPU Device 0: "Ampere" with compute capability 8.6

Loading "frame10.ppm" ...
Loading "frame11.ppm" ...
开始计算,预计3分钟
Computing optical flow on GPU...
GPU Processing time: 31.284836 ms
Computing optical flow on CPU...
CPU Processing time: 8843 ms
L1 error : 0.044308

性能损失计算方法

性能损失可以通过以下公式计算:

在这里插入图片描述

在这里插入图片描述
对于GPU:

性能损失百分比≈0.365%

对于CPU:

性能损失百分比≈20.25%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值