摘要: 1、程序设计要求 主机内存需求。 二进制需求。使用用x86-64(64位)或ARM®32位ARMV7-A。 多个主机线程。 乱序的命令队列。 多个命令队列同时执行内核的要求。要同时在同一个OpenCL程序中执行多个kernel,要为投股市运行的每个kernel实例化一个单独的有序命令队列,也可以通过 阅读全文
posted @ 2020-08-14 18:26 ZhuzhuDong 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1、命名 建议只包含字母和数字。 2、优化数据处理循环的策略 使用例如展开循环、设置work-group/计算unit以及work-item大小等方式优化kernel的数据处理效率。 (1)展开循环 如果没有loop-carried dependency且循环内容可以并行执行,则可unroll。 3 阅读全文
posted @ 2020-08-13 14:05 ZhuzhuDong 阅读(503) 评论(0) 推荐(0) 编辑
摘要: Memory的访问效率往往决定着整个kernel的性能,最小化global memory访问次数在优化OpenCL代码时是非常有效的。Memory主要有以下几种:global, constant, local以及private。互联拓扑结构将共享的global内存,constant内存,local内 阅读全文
posted @ 2020-08-04 19:10 ZhuzhuDong 阅读(2474) 评论(0) 推荐(0) 编辑
摘要: 1、基于反馈的Optimization Report解决单个Work-item的Kernel相关性 在许多情况下,将OpenCL™应用程序设计为单个工作项内核就足以在不执行其他优化步骤的情况下最大化性能。 建议采用以下优化单个work-item kernel的选项来按照实用性顺序解决单个work-i 阅读全文
posted @ 2020-08-03 15:05 ZhuzhuDong 阅读(640) 评论(1) 推荐(1) 编辑
摘要: 使用Intel® FPGA SDK for OpenCL™ 离线编译器,不需要调整kernel代码便可以将其最佳的适应于固定的硬件设备,而是离线编译器会根据kernel的要求自适应调整硬件的结构。 通常来说,应该先优化针对单个计算单元的kernel,之后累哦通过增加计算单元数量来拓展硬件以填充FPG 阅读全文
posted @ 2020-07-29 11:04 ZhuzhuDong 阅读(1344) 评论(0) 推荐(0) 编辑
摘要: 1、首先了解Intel FPGA SDK for OpenCL实现OpenCL的设计组件,包括: kernels, global memory interconnect, local memory, loops 以及channels (1) Kernels Loops一般是Kernel优化的重点,尤 阅读全文
posted @ 2020-07-24 17:30 ZhuzhuDong 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 1,OpenCL程序包含两部分: 设备上执行:GPU 主机上运行:CPU 需要使用OpenCL语言编写Kernel函数。 2, (1)Kernel:设备程序执行的入口点,是唯一可以从主机上调用执行的函数。 eg: Function: void vector_add_cpu (const float* 阅读全文
posted @ 2020-07-23 16:16 ZhuzhuDong 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 一、C++编译模式 通常,在一个C++程序中,只包含两类文件——cpp文件和h文件。cpp文件被称作C++源文件,里面放的都是C++的源代码;h文件则被称作C++头文件,里面放的也是C++的源代码。 C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内 阅读全文
posted @ 2020-01-09 22:11 ZhuzhuDong 阅读(2150) 评论(0) 推荐(0) 编辑
摘要: 参数化问题 在SLAM的建图过程中,把像素深度假设成了高斯分布。那么这么假设是否是合适的呢?这里关系到一个参数化的问题。 我们经常用一个点的世界坐标x,y,z三个量来描述它,这是一种参数化形式。我们认为x,y,z三个量都是随机的,它们服从三维的高斯分布。然而,在极线搜索中使用了图像坐标u,v和深度值 阅读全文
posted @ 2019-08-08 21:48 ZhuzhuDong 阅读(2104) 评论(0) 推荐(0) 编辑
摘要: 1 过拟合 1.1 定义 是指模型对于训练数据拟合呈现过当的情况,反映到评估指标上就是模型在训练集上的表现很好,但是在测试集上的表现较差。结果就是训练出的模型泛化能力差。 1.2 如何防止过拟合 防止过拟合的方法有4种: 1)增加训练集数据; 该方式是从数据入手,将更多的数据参与到模型的训练中,这是 阅读全文
posted @ 2019-06-26 11:28 ZhuzhuDong 阅读(4175) 评论(0) 推荐(0) 编辑