自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (5)
  • 收藏
  • 关注

原创 CUDA数组(CUDA Array)

CUDA数组(CUDA Array)参考: https://blog.csdn.net/hhko12322/article/details/12004329 http://blog.sciencenet.cn/blog-398465-342089.htmlCUDA数组(CUDA Array)引言申请CUDA Array复制CUDA Array绑定CUDA Array取值...

2018-03-27 12:49:36 11971 7

原创 独立OpenCV的SIFT算法并可调试

独立OpenCV的SIFT算法并可调试本文提供一种可修改并可调式OpenCV中SIFT源码的方案,众所周知,在windows下将OpenCV编译成sln文件,配合VS便可得到sift的源代码,并可以调试。 但本文是在linux下将sift独立出来,让程序调用独立出来的sift,而不影响src中的sift源码。首先是可调试,只要将OpenCV的库编译成Debug版,配合调试器即可调试。 ...

2018-03-26 17:52:24 438 1

原创 OpenCV使用QT GUI显示

OpenCV使用QT GUI显示OpenCV使用QT GUI显示效果简要说明详细说明实例1实例2效果首先看结果:可以图片进行放大,缩小,还可以得到任意像素坐标和像素RGB而不需要任何额外的代码。 简要说明想拥有这样的效果需要两个条件:编译opencv时勾选USE_QT(确保GUI使用QT)写程序时包含QT库详细说明...

2018-03-26 12:17:56 1966

转载 gprof查看程序函数运行时间

gprof查看程序函数运行时间参考:http://blog.163.com/qiukl1987@126/blog/static/9809584920136135057503/ gprof的使用步骤: 1、在编译器(gcc/g++)命令行参数中加入”-pg”选项 2、按正常方式运行程序,若程序正常结束,则会在当前目录下生成gmon.out文件 3、使用gprof查看gmon.out文件,...

2018-03-23 21:50:56 1592

原创 git的使用

git的使用git的使用git 最基本的命令:git最基本的使用:git常用命令add与commit有关add:推送到远程库分支策略git 最基本的命令:git clone xxx.html将github上的源代码clone到本地git最基本的使用:在本地建立并更新 git init git add file.xx git co...

2018-03-23 21:44:02 134

原创 相机成像原理

相机成像原理相机成像原理分为透镜成像原理和小孔成像原理。相机成像原理现代相机有很多分类,且分类标准不统一。在这里简单分类为可更换镜头相机和不可更换镜头相机两种。对于可更换镜头而言。例如单反,单镜头反光照相机,镜头只是整个系统的一个部件,他的作用是获得我们想要的成像效果,但是镜头并不是成像的必要部件,把镜头取下,依然可以获得成像,此时就是利用了小孔成像的原理。对于没有反光镜设计的微单...

2018-03-21 16:41:58 9447 2

原创 cuda-gdb 调试CUDA程序

cuda-gdb 调试CUDA程序调试CUDA程序与调试C/C++程序基本相同,gdb也可调试CUDA程序,但不能进入核函数。cuda-gdb比gdb多了进入CUDA核并调试的能力。所以gdb的命令cuda-gdb都继承了,命令详见:gdb调试C/C++程序。 本篇谈一下cuda-gdb独有的命令: 可以通过help cuda查看可调试的命令: cuda thread lane warp...

2018-03-21 09:31:38 3558 1

原创 gdb调试C/C++程序

gdb调试C/C++程序参考: http://blog.csdn.net/liigo/article/details/582231/ http://blog.csdn.net/haoel/article/details/2879/ https://www.cnblogs.com/mfryf/p/5390442.html https://segmentfault.com/a/119000...

2018-03-20 22:52:00 1563

原创 CUDA优化实例(五)纹理内存与常量内存

CUDA优化实例(五)纹理内存与常量内存做了个卷积核的实验: 最基本情况:结果:使用常量内存: 纹理内存: 结果分析没有使用texture memory 核函数花费80us,使用了纹理内存的,不管是线性内存还是CUDA Array都是140us实例源码: CMakeLists.txt:# CMakeLists.txt for G4...

2018-03-19 17:44:20 1313

原创 CUDA中内存访问越界问题

CUDA中内存访问越界问题在核函数中对非法的内存访问不一定会报错,那我们加CHECK(error)会帮我们报错吗?经实验发现,有的非法访问很致命,函数不会运行,这种错误,可以CHECK到,但有些非法内存访问不致命,可能是访问到其他设备内存上了,这时CHECK不会报错,但是会出现逻辑上的错误,因为访问的值是错误的。 所以,我们在做内存访问时,一定要自己做好逻辑上的判断,保证内存访问不错位,不错...

2018-03-18 13:37:27 4934 1

原创 有关CUDA nvprof 调试的metrics(指标)

有关CUDA nvprof 调试的metrics(指标)nvprof --metrics achieved_occupancy,gld_throughput,gst_throughput,gld_efficiency,gst_efficiency,gld_transactions,gst_transactions,gld_transactions_per_request,gst_transac...

2018-03-17 20:27:14 3449

原创 CMake构建OpenCV,GDAL项目

CMake构建OpenCV,GDAL项目本文举例的开源库是OpenCV和GDAL,其他块源库类似使用本篇方法的前提是make install,即开源库是install的。 当然,没有install的也是可以用的,只需要在findpage前找到DIR即可。 如找OpenCV: set(OpenCV_DIR /home/jie/third_party/opencv-3.4.0/build...

2018-03-17 16:08:02 2309 2

原创 CUDA优化实例(四)纹理内存

CUDA优化实例(四)纹理内存本文参考:http://www.cnblogs.com/cuancuancuanhao/p/7809713.html 本节的内容可能和标题不服,本节主要将纹理内存的使用,它到底有什么有什么速度的提升,优化体现在哪里,我下节会写,本节主要写一个纹理内存的例子。引言纹理内存与全局内存一样,都在DRAM上,所以纹理内存的容量是很大的纹理内存是专为图像而...

2018-03-15 11:04:36 2002

原创 CUDA纹理笔记

CUDA纹理笔记本文参照CUDA C programming guide有关纹理内存的内容。 有关纹理内存讲的好的内容:CUDA texture,纹理内存访问原理Device memoryCUDA arrays CUDA arrays are opaque memory layouts optimized for texture fetching. They are descri...

2018-03-13 22:42:05 1014

原创 CUDA优化实例(三)共享内存

CUDA优化实例(三)共享内存前言经过前面的实验发现,共享内存是优化CUDA程序的核心方法。共享内存可以通过对全局内存数据进行合并访问,让kernel内交错的内存需求去访问共享内存。如:矩阵转置问题,将二维内存的行写入二维内存的列。对列的写入就是一个内存交错访问的例子。可以用合并的方式将块要操作的数据写入共享内存,让复杂的内存交错访问访问共享内存,然后将结果以合并的方式写入全局内存。 ...

2018-03-11 21:52:48 5560

原创 CUDA优化实例(二)对齐与合并

CUDA优化实例(二)对齐与合并本篇主要通过反正的方式进行实验,即说明不合并的内存访问方式慢,以此来说明对全局内存的访问一定要保证合并。引言关于全局内存的对齐与合并问题,前面的文章1 前面的文章2也介绍了,我在做有关对齐的试验时发现许多不可解释的问题,主要是对齐的问题,我发现这与我在书中学的不一样,为此我去官方文档中寻找线索,发现,现在的GPU对非对齐问题都进行了优化,不管对齐不...

2018-03-09 22:37:16 1918

原创 颈椎

颈椎补肝和肾,对应筋和骨 应注意: 1.补肝血 2.固肾经 3.强身健体 4.防风寒吃: 酸甜食物补肝:水果,橘子等 咸的黑的食物补肾坐姿腰要直,腰弯的时候,头要弯。不要熬夜...

2018-03-09 16:17:36 162

原创 有关展开的问题

有关展开的问题理论:在相同情况下,内存效率与内存事物数成反比 低的内存效率意味着需要更多的内存事物。 在实验中可以证实这一点,当平移数据字节时(非对齐访问),内存效率会下降,且它们乘积是定值都是处理数据所需要的内存事物数。问题:但在实验中也发现问题: 展开是 1unsigned int i = blockIdx.x * blockDim.x + threadIdx.x;...

2018-03-08 13:49:14 243

原创 内存事物颗粒

内存事物颗粒内存事物数×颗粒大小×效率 = 处理数据量每个请求数量的事物数量×颗粒大小×效率 = 一个请求处理的事物量事物量/每个请求事物量 = 请求数GTX1050Ti经实验得: 以此求GTX1050Ti的内存事物颗粒大小: 加载颗粒: 在请求内存量<32字节时,加载颗粒是32字节。 在请求内存量>32字节时,加载颗粒是16字节。 存储颗粒: 无论...

2018-03-07 17:07:56 589

原创 CUDA优化实例(一)占用率

CUDA优化实例(一)占用率前言实验分析与结论前言占用率是指活跃的线程占总线程的比率,占用率越高,kernel效率越高。有较多的线程同时参与运行就会有较多的活跃的,就会有较高的占用率。所以怎么才能同时具有较多的同时参与运行的线程呢,这跟kernel所需要的资源量和设备的计算能力以及块的组织(能影响块在SM的分布)有关。我们且保证kernel不需要任何资源,我的电脑计算能...

2018-03-06 14:18:15 2676

原创 CUDA优化

CUDA优化The method of CUDA to improve performance:1.block size to increase occupancy 2.对其和合并 increase the 内存事物使用率. 3.减少分支化 4.展开 unrolling(一般是最有效的方法) 5.尽量使用共享内存,但要避免共享内存的冲突(正确使用共享内存)可扩展性...

2018-03-04 21:04:22 603

原创 笔记--关于CUDA

笔记–关于CUDAWhy GPU is faster than CPU?One well known reason is that GPU has more threads and it can parallel process rather than serial. Another significant reason is the GPU programming Model – ...

2018-03-04 15:27:45 269

OpenMVG+OpenMVS运行脚本

OpenMVG+OpenMVS运行脚本 .

2019-02-28

cuda regisger 测试

测试了CUDA中寄存器,共享内存,和全局内存的创建。 。

2018-05-19

独立OpenCV的sift代码(可调试)

代码提供一种可修改并可调式OpenCV中SIFT源码的方案,众所周知,在windows下将OpenCV编译成sln文件,配合VS便可得到sift的源代码,并可以调试。 但该代码可以在linux下将sift独立出来,让程序调用独立出来的sift,而不影响src中的sift源码。

2018-03-26

CUDA_Compiler_Driver_NVCC__

CUDA编译器项 好用

2018-02-07

CUDA C Programming Guide v9.0

最新的CUDA用C语言的编程指南。最新的CUDA用C语言的编程指南。

2017-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除