【CUDA开发】论CUDA和LAV解码器是否真的实用
先说配置,我电脑E3V3+GTX780TI视频就一个普通的720P AVC1编码MP4视频,实时检测软件是CPU-Z和GPU-Z,AIDA64【全默认设置】全部用ptoplayer默认播放时候,播放30分钟,全程满帧(输入和输出帧数相等)。显卡和CPU基本处于待机负载显卡核心频率在300MHZ,显存在600MHZ,TDP 4%,温度40℃;CPU温度42℃。机箱出风口基本无热风。【开启CUDA:LAV解码器】LAV使用Nvidia CUVID显卡和CPU处于中等负载显卡核心满频率875MHZ(我是公版),显存1600MHZ满载,TDP
55%(对于GTX780TI这个TPD基本等于中高特效在玩单机了),温度65℃,外壳烫手,风扇转速45%;CPU温度50℃。机箱出风口有明显热风【开启CUDA:默认解码器开启CUDA】pot自带内置解码器,AVC1改成NV CUDA解码基本数据同LAV。CPU负载略低一点。由此可见,CUDA解码其实并不是像CPU硬解码一样可以实现节省计算芯片资源和能耗的作用。相反,他是把本应由CPU负担的计算转交给CUDA核心,也就是这里的NV GPU进行运算,从而给CPU减负。单对整体来说,打个不恰当的比方,CPU跑1km路程要消耗1KG汽油,现在为了让CPU能干点别的,只让他跑200m路程,而让GPU跑800m路程,此时GPU却要消耗2KG的汽油。这样CPU虽然稍微的减负了,但是整体却带来了更多的能耗和发热。所以我个人认为,当CPU不因为视频而出现负载压力导致帧数下降的情况下,最好别开启CUDA进行同步计算,尤其对于配置比较好或者比我还要好的同学,就更不应该开启了。因为你的CPU对付这些东西绰绰有余的时候,开CUDA只是烧电费取暖罢了,对画质和流畅度没有任何意义。似乎CUDA运算【并没有对负载有动态调整,而是全负荷运行】,不管杀鸡还是打蚊子都用核弹火力全开,这对显卡本身是不好的。也许Nv应该在以后的CUDA技术中优化对芯片负载和功耗的整体控制。对付不同的敌人掏出不同的武器才是。
【CUDA开发】论CUDA和LAV解码器是否真的实用的更多相关文章
- 【CUDA开发】CUDA面内存拷贝用法总结
[CUDA开发]CUDA面内存拷贝用法总结 标签(空格分隔): [CUDA开发] 主要是在调试CUDA硬解码并用D3D9或者D3D11显示的时候遇到了一些代码,如下所示: CUdeviceptr g_ ...
- 【并行计算-CUDA开发】CUDA软件架构与Nvidia硬件对应关系
前面扯了很多,不过大多都是在讲CUDA 在软体层面的东西:接下来,虽然Heresy 自己也不熟,不过还是来研究一下硬体的部分吧-毕竟要最佳化的时候,好像还是要大概知道一下相关的东西的.这部分主要参考资 ...
- 【CUDA开发】CUDA编程接口(一)------一十八般武器
子曰:工欲善其事,必先利其器.我们要把显卡作为通用并行处理器来做并行算法处理,就得知道CUDA给我提供了什么样的接口,就得了解CUDA作为通用高性能计算平台上的一十八般武器.(如果你想自己开发驱动,自 ...
- 【并行计算-CUDA开发】CUDA编程——GPU架构,由sp,sm,thread,block,grid,warp说起
掌握部分硬件知识,有助于程序员编写更好的CUDA程序,提升CUDA程序性能,本文目的是理清sp,sm,thread,block,grid,warp之间的关系.由于作者能力有限,难免有疏漏,恳请读者批评 ...
- 【CUDA开发】 CUDA Thrust 规约求和
1. 使用 Thrust Thrust 是一个开源的 C++ 库,用于开发高性能并行应用程序,以 C++ 标准模板库为蓝本实现. 官方文档见这里:CUDA Thrust /* ... */ float ...
- 【CUDA开发】Cuda C++ Thrust API与 Cuda Runtime API程序比较
今天买了本新书<高性能CUDA应用设计与开发方法与最佳实践>,今天读了第一章有点出获,分享给大家. 程序功能:给向量填充数据并计算各元素之和 1. CPU串行运行的代码: //seqSer ...
- 【CUDA开发】CUDA从入门到精通
CUDA从入门到精通(零):写在前面 在老板的要求下,本博主从2012年上高性能计算课程开始接触CUDA编程,随后将该技术应用到了实际项目中,使处理程序加速超过1K,可见基于图形显示器的并行计算对于追 ...
- 【CUDA开发】CUDA开发琐碎知识
## 一维矩阵的加 //实现一个一维1*16的小矩阵的加法. //矩阵大小:1*16 //分配一个block,共有16个线程并发. #include <stdio.h> #includ ...
- 【并行计算-CUDA开发】CUDA存储器模型
CUDA存储器模型 除了执行模型以外,CUDA也规定了存储器模型(如图2所示)和一系列用于主控CPU与GPU间通信的不同地址空间.图中红色的区域表示GPU片内的高速存储器,橙色区域表示DRAM中的的地 ...
随机推荐
- 39、扩展原理-BeanFactoryPostProcessor
39.扩展原理-BeanFactoryPostProcessor BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的 BeanFactoryPostPro ...
- ajax当有返回值时
当ajax方法里面有return 值时,无法使用两种精简版的只能使用经典版 因为ajax 方法时异步的,正确的方式时使用经典版中async:false 设置为同步 默认为true 是异步 正确代码如 ...
- 安装部署mongodb
准备 groupadd mongodb useradd -g mongodb mongodb echo password |passwd --stdin mongodb mkdir -pv /data ...
- qml 绘制高精地图之怀疑人生的加载速度
绘制高精地图时需要gps的经纬度坐标,之前的实现方式是QGeocoordinate类的经纬度变量通过json的方式在qml中使用. 以画线为例,使用方式是这样哒. for(var i in vehic ...
- 使用AwesomeWM作为Mate(Gnome相同) Desktop的窗口管理器
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/using_awesomewm_as_wm_of_mate_des ...
- 使用MockMVC与Junit进行单体测试
1.pom.xml追加 junit spring-test 2.测试共通类 @ContextConfiguration(locations = { "classpath:springfram ...
- [Shell]Redis未授权访问反弹shell
原作者:Cream 文章出处: 贝塔安全实验室 0x01 Redis未授权访问反弹shell Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value ...
- Mybatis使用IN语句查询
一.简介 在SQL语法中如果我们想使用in的话直接可以像如下一样使用: select * from HealthCoupon where useType in ( '4' , '3' ) 但是如果在M ...
- ICEM-叶轮泵腔(2D转3D)
原视频下载地址:https://yunpan.cn/cqUfdgMPzyr5y 访问密码 bb4f
- 【转】Linux下软件安装的几种方式
转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...