测试docker GPU性能损失

embedded/2024/9/24 16:31:57/

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.6Loading "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.6Loading "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%


http://www.ppmy.cn/embedded/39553.html

相关文章

zblog中用户中心-邀请码注册插件的导出功能补充

自己加了一个导出未使用的邀请码功能&#xff0c;可惜我不是入驻作者&#xff0c;没有权限发布&#xff0c;之前被一条大河拒了&#xff0c;他说我抄他代码&#xff0c;不给我过审还冷嘲热讽&#xff0c;我一气之下&#xff0c;就没继续申请了&#xff0c;话说我是专业搞java开…

大模型面试常考知识点1

文章目录 1. 写出Multi-Head Attention2. Pre-Norm vs Post-Norm3. Layer NormRMS NormBatch Norm 4. SwiGLU从ReLU到SwishSwiGLU 5. AdamW6. 位置编码Transformer位置编码RoPEALibi 7. LoRA初始化 参考文献 1. 写出Multi-Head Attention import torch import torch.nn as nn …

12.Netty入门案例

1.引入Netty依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.39.Final</version></dependency> 2.服务端 public class HelloServer {public static void main(String[] arg…

《ElementUI 基础知识》el-tree 之“我的电脑”目录结构效果

前言 项目需求&#xff0c;Web 端获取服务器文件夹目录结构。目录数据是调接口获取&#xff0c;本篇略过&#xff0c;直接展现数据&#xff01; 效果 实现 html 代码 8 - 15 行&#xff0c;自定义节点信息&#xff1b;代码 9 - 14 行&#xff0c;判断 icon 显示&#xff1b…

江苏企业的cad图纸加密软件如何防文件泄密的?

大数据时代&#xff0c;对于设计行业也带来了大量的机会&#xff0c;设计软件在设计行业也是举足轻重的地步&#xff0c;那么设计图纸对每一个设计人员也说像亲生孩子一样非常重要&#xff0c;它是设计人员的知识成果&#xff0c;更是公司的核心数据&#xff0c;关系企业的效益…

从零开始学AI绘画,万字Stable Diffusion终极教程(六)

【第6期】知识补充 欢迎来到SD的终极教程&#xff0c;这是我们的第六节课&#xff0c;也是最后一节课 这套课程分为六节课&#xff0c;会系统性的介绍sd的全部功能&#xff0c;让你打下坚实牢靠的基础 1.SD入门 2.关键词 3.Lora模型 4.图生图 5.controlnet 6.知识补充 …

(Java)心得:LeetCode——5.最长回文子串

一、原题 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba"…

小程序(三)

十三、自定义组件 &#xff08;二&#xff09;数据方法声明位置 在js文件中 A、数据声明位置&#xff1a;data中 B、方法声明位置methods中&#xff0c;这点和普通页面不同&#xff01; Component({/*** 组件的属性列表*/properties: {},/*** 组件的初始数据*/data: {isCh…