- 博客(27)
- 收藏
- 关注
原创 cuda tips
程块总的大小,即blockDim.x、blockDim.y和blockDim.z的乘积不能大于1024。的GPU来说,网格大小在x、y和z这3个方向的最大允许值分别为2^31-1、65535和65535;线程块大小在x、y和z这3个方向的最大允许值分别为1024、1024和64。是说,不管如何定义,一个线程块最多只能有1024个线程。这些限制是必须牢记的。CUDA中对能够定义的网格大小和线程块大小做了限制。对任何从开普勒到图灵架构。
2025-01-13 18:15:42
92
原创 OpenHarmony环境搭建
需要分两步进行安装。注意,这里比较重要,官网文档用一步进行安装,会出现问题,导致安装不完整,从而导致后期编译出现“3000”错误。用于在开发环境中使用VS Code编写代码。在下载好的文件(sources.list)所在的位置开启一个终端窗口,执行下列命令。耐心等待,对于标准系统来说,完整编译过程会持续2-3小时。两种方式,使用hb或者build.sh。”下载对应版本最新的源。
2024-06-21 10:23:08
715
原创 代码性能优化
为了进行函数调用,程序需要将调用参数放到栈或寄存器中,同时还需要保存一些寄存器到栈上,以免 callee 会覆盖到。函数执行的切换,对于代码局部性、寄存器使用、运行性能都会有不少的影响。当一个程序中两个及以上的指针引用相同的存储地址时,就会有指针别名的问题。1)循环中有较多条件语句,函数调用等,复杂的cfg。因为#ifdef在编译时就知道结果,不需要在运行时判断,节省运行时间。循环分布将有依赖和没有依赖的语句分开,从而进行自动向量化。将循环的头和尾剥离处理,对中间的部分进行自动向量化。即可开启自动向量化。
2024-01-25 15:20:10
1247
原创 h264差错控制与错误隐藏
图像分割为slice group、slice、宏块组、宏块等。参考图像有短期参考图像和长期参考图像,并且数量比之前标准多。
2024-01-23 13:27:37
506
1
原创 NEON Intrinsic学习
对数据进行向量加载和存储,既可以对单个数据进行加载和存储,也可以对向量结构体数据进行加载和存储。load就是从内存中写入到向量寄存器中。store就是从向量寄存器写到内存中。以解交织(de-interleaving)的方式加载数据// 以解交织方式加载数据到n个向量寄存器, n为1~4//如// 以解交织方式加载数据到n个向量寄存器的第N通道, n为1~4以交织的方式存储数据// 将n个向量寄存器数据以交织方式存储到内存中, n为1~4。
2024-01-20 14:20:06
1330
原创 JM代码学习
https://www.cnblogs.com/weitter/p/13525229.htmlhttps://blog.youkuaiyun.com/H2008066215019910120/article/details/108881428
2023-12-23 11:11:57
467
1
原创 Vulkan学习总结
需要调用加载器激活Vulkan驱动。当加载器定位到驱动位置并成功链接到API之后,应用程序就可以开始执行下面的操作了:· 创建一个Vulkan实例。· 查询物理设备上所有的可用队列。· 查询扩展功能并保存为新的函数指针,例如WSI或者有特定功能的API。支持注入层来实现错误检查、调试或者验证的功能。
2023-10-09 16:59:22
562
1
原创 OpenGL编程指南第九版学习总结
模型(场景对象):利用基本几何图元创建的,也可以称为物体渲染:根据模型创建最终图像的过程着色器:专为GPU编译的一个小型程序,光栅化:将构建的模型转为像素,位平面:和像素有关的信息被组织成位平面帧缓冲区:位平面可以组织成帧缓冲区,在显存上分配。
2023-09-13 23:22:16
463
1
原创 熵编码--指数哥伦布编码
设待编码的数字为n(十进制),编码后的比特流为bit_string第一步:计算n + 1第二步:将n + 1的值转为二进制,并输出该二进制占有的bit位,计为m第三步:在二进制数前面补上m-1个0,即可得到编码后的比特流以数字4举例:第一步:计算4 + 1,得到5第二步:5的二进制为101,该二进制占有3个bit位,m等于3第三步:在101前面补上2个0,得到00101;以数字9357举例:第一步:计算9357 + 1,得到9358。
2023-09-01 17:24:01
174
1
原创 X-Window学习
Screen就是一个屏幕或者设备Display可以包含多个Screen,一般是指多个Screen和一个鼠标一个键盘的集合。
2023-07-06 10:41:21
507
1
原创 H264-帧间预测
帧间预测首先通过运动估计(me)找到最佳匹配块,并计算出运动矢量(mv)。然后将最佳匹配块数据和当前块数据相减,得到数据残差。在编码中,由于运动矢量mv太多,不能直接对mv进行编码。需要对mv进行预测,方法就是通过相邻块的mv,得到当前块的预测mv,即mvp。再将mvp与mv相减,即可得到mv的残差mvd。最终将mvd进行编码。最后将mvd和数据残差进行编码压缩传输。
2023-07-06 10:40:29
614
1
原创 VIM的使用
/只替换quack单词,不替换包含quack的单词,如my_quack。//因为查询匹配次数,所以string位可以为空。n(number)报告匹配到的次数而不替换,可以用来查询匹配次数。substitute命令允许我们查找并替换掉文本,并支持正则式。patter表示要替换的模式,string是替换后的文本。c(confirm)表示确认,可以确认或者拒绝修改。g(global)表示全局范围内执行。range表示范围,比如。
2023-06-12 11:31:50
68
原创 gdb使用总结
如果打出的信息中没有符号信息,文件名等信息都是问号(?3 运行程序,用gdb执行产生的core文件`2 修改core文件保存位置。1 设置core文件大小。
2023-06-09 17:53:12
1599
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人