- 博客(14)
- 资源 (1)
- 收藏
- 关注

原创 优质博客推荐 及 我的博客目录
优质博客推荐 及 我的博客目录说明:颜色 SlateBlue 表示我的原创博客颜色 Chartreuse 表示我推荐的博客或者课程
2017-12-25 13:42:47
835
原创 CUDA经验:NVCC编译器过度优化(Reduce算法)
在GPU中Reduce算法是一种快速归约数据的方法,具体内容单击此处跳转。在CUDA实现的过程中,如果处理不当,会导致Debug版本与Release版本结果不一致的现象,这是由于Debug下不会对代码做优化,而Release下“过度优化”了代码,导致程序并没有按照我们的原意执行,最终结果错误。 简单的讲,如上图所示,若要对8个元素求最小值,那么只需要先做对(4,5)、(6,2)、(3...
2018-08-12 21:19:49
2434
原创 矩阵求逆引理(Matrix inversion lemma)推导
矩阵求逆引理(Matrix inversion lemma),通过分块矩阵求逆的方法证明:(A - C B^inv C')^inv = A^inv - A^inv C (B - C' A^inv C)^inv C' A^inv
2018-07-01 17:36:40
14760
原创 KinectFusion公式推导、理解
“KinectFusion Real-Time Dense Surface Mapping and Tracking”一文于2012年发表,该文章首次实现了实时稠密重建(Real time dense restruction),我认为微软的Kinect深度相机是其成功的根本,该文章也是首次成功应用了深度相机,是做实时稠密重建(Real time dense restruction)方向的必读论文。
2017-12-30 10:41:01
7203
1
原创 罗德里格斯公式 理解、推导
罗德里格斯公式(Rodriguez formula)是计算机视觉中的一大经典公式,在描述相机位姿的过程中很常用。公式:R=I+sin(θ)K+(1−cos(θ))K2R = I + sin(\theta)K + (1 - cos(\theta))K^{2} 从旋转矩阵RR讲起,在三维空间中,旋转矩阵RR可以对坐标系(基向量组)进行刚性的旋转变换
2017-12-29 16:55:19
60557
21
原创 深度相机SLAM文献、关键概念总结
基本概念深度相机(Depth Camera)与彩色相机(Color Camera)。众所周知,彩色相机就是照相用的,目的在于采集目标物体的颜色信息,保存到对应的像素点。而深度相机的目的是采集目标物体和相机之间的距离,并保存到对应的像素点。 深度图像(Depth Image)与彩色图像(Color Image)。彩色图像中每个像素点保存着目标物体的RGB三种颜色的强度。深度图像中每个像素点保
2017-12-25 20:59:29
2478
原创 CUDA学习笔记(7) GPU内存分级
在NVIDIA的GPU中,内存(GPU的内存)被分为了**全局内存(Global memory)、本地内存(Local memory)、共享内存(Shared memory)、寄存器内存(Register memory)、常量内存(Constant memory)、纹理内存(Texture memory)**六大类。
2017-12-25 13:38:34
6259
原创 CUDA学习笔记(6) 共享内存与全局内存
共享内存(Shared memory)是位于每个流处理器组(SM)中的高速内存空间,主要作用是存放一个线程块(Block)中所有线程都会频繁访问的数据。流处理器(SP)访问它的速度仅比寄存器(Register)慢,它的速度远比全局显存快。但是他也是相当宝贵的资源,一般只有几十KByte, 这里以我电脑上的“Quadro K620”为例: 硬件资源 参数 流处理器(SP) 128 *
2017-12-22 13:07:36
15115
2
原创 CUDA学习笔记(3) NVRTC编译库
注意,NVRTC可以高速地编译代码,但是NVRTC并不支持C++,大型工程尽量避免使用。 我们在编译CUDA工程时,会发现比C++代码的编译慢上许多,这是由于NVCC(CUDA/C++编译器)造成的,它可以兼容地编译C++代码与CUDA-C代码,但是十分低效。 我们可以用CUDA学习笔记(1)中的代码实验一下,对“kernel.cu”右键→属性,可以看到编译器是“CUDA C/C+...
2017-12-13 12:31:38
6117
原创 CUDA学习笔记(2) 第一个CUDA程序
首先,我们用VisualStudio创建了CUDA的工程后,会出现一个数组对应位置元素求和的模版代码,我们可以先借此了解CUDA工程的主体结构,然后将他们全都删掉,从头开始练习。 假设我们现在要创建384个线程,并要知道他们具体属于哪个线程束(Warp)、线程块(Block),线程序号是多少。 在 main() 函数中,我主要执行以下几个步骤: 1. 读取GPU硬件信息。 2. 计算。
2017-12-10 12:44:36
1601
原创 CUDA学习笔记(1) 硬件简介
一、环境配置与安装Linux下安装请参考Ubuntu12.04配置NVIDIA cuda5.5经验帖 Windows下安装请参考CUDA在Windows的安装和使用 我是在Windows下安装的CUDA,使用Visual Studio 2013编程。安装过程是只用点确定的傻瓜式安装,并且会自动给你添加环境变量。安装完成后,Visual Studio在新建项目的时候会多出来一个CUDA的工程选
2017-12-03 19:43:47
1333
原创 优快云-markdown使用实践(测试)
零、LaTex数学公式通过在线LaTeX公式编辑器可以直接生成LeTaX公式,然后复制到博客中并在两端加上“$”符号即可,例:$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$效果: x=−b±b2−4ac−−−−−−−√2a x = \dfrac{-b \pm \sqrt{
2017-11-20 18:52:25
1546
NVIDIA费米架构白皮书
2017-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人