- 博客(12)
- 收藏
- 关注
原创 缺少Python27_d.lib的解决方法
简介 最近在调用caffe的python接口训练网络,需要进到caffe代码中调试,编译时需要用Python27_d.lib、Python27_d.dll。但是一般我们下载的都是release版的。怎么办?自己编译一个debug版本当然可以,但是很麻烦啊。很多网友解决方法是把Python27.lib、Python27.dll拷贝为Python27_d.lib、Python27_d.dll 不过拷
2016-09-29 18:37:37 24804 10
原创 CUDA编程中 extern "c"用法解析
简介 extern “c”并不是什么新鲜的东西,但是最在编译CUDA程序时候出现了“error LNK2019,未定义的符号”的问题。这不用说了,链接器说找不到,那就是找不到咯。但是why?我的源码中明明已经有了定义。 后来发现是extern “c”的问题。extern “C” C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序
2016-09-29 18:29:07 5642
原创 从FCN到DeepLab
前言 最近看了一些语义分割的文章DeepLab,写写自己的感受,欢迎指正。介绍 图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类。 图像语义分割,从FCN把深度学习引入这个任务到现在,一个通用的框架已经大概确定了。即前端使用FCN全卷积网络输出粗糙的label map,后端使用CRF条件随机场/MRF马尔科夫随机场等优化前端的输出,最后得到一个精细的分割图。
2016-09-22 15:33:08 28709 8
原创 编译器错误 C2989
编译器错误 C2989非类模板已经声明为类模板,,微软知识库中有说明 但是还有一种情况,微软没提到,就是 当模板函数返回类型为enum时候下面是微软的说明编译器版本 Visual Studio 2013 “class” : 类类型已声明为非类类型 类泛型或模板重定义非模板或非泛型类。检查头文件中是否有冲突。 如果您在使用类模板部分专用化,请参见知识库文章 Q240866。 下面的示例生成
2016-09-13 09:06:05 2024
原创 使用Nuget管理第三方库吧
前言用visual studio开发的童鞋们应该都有这样的感受,经常在copy别人的项目后,出现找不到xxx.h,找不到xxx.lib,找不到balabala。甚至还有“模块计算机类型“x86”与目标计算机类型“x64”冲突”,“模块计算机类型“x64”与目标计算机类型“x86”冲突”等等令人烦躁的提示! 很多时候都是工程中使用了第三方库,而工程又没有能够自适应的配置文件能帮我们找到这些第三方库造
2016-04-07 15:30:38 25511 2
原创 CUDA编程——zero copy
零复制 zero copy(零复制)是一种特殊形式的内存映射,它允许你将host内存直接映射到设备内存空间上。其实就是设备可以通过直接内存访问(direct memory access,DMA)方式来访问主机的锁页内存。 锁页主机内存 现代操作系统都支持虚拟内存,操作系统实现虚拟内存的主要方法就是通过分页机制。操作系统将内存中暂时不使用的内容换出到外存(硬盘等大容量存储)上,从而腾出空间存
2016-02-04 13:40:38 8219 1
原创 Visual C++在虚继承中使用协变报错
协变和抗变 一个覆盖方法要求函数具有完全相同的入参(抗变),这个规则对返回类型而言,则有所放松。覆盖的返回值不区分基类或派生类。从语意上理解,返回值的派生类也是基类(协变)。就是说!派生类的覆盖方法就可以改变返回类型,但是不是任意改变,可以改变为原来类型的派生。 Visual C++在虚继承中使用协变会报错。这是微软编译器的一个bug,不过,微软说他们不会修复!参考微软公告。钻石继承 一个
2016-01-23 16:03:30 1196
原创 CUDA编程——Warp Divergence
Warp 回顾一下CUDA的线程层次 CUDA编程中,warp是调度和运行的基本单元,目前,每个warp包含32个threads。软件逻辑上,程序员的所有thread是并行的,但是,从硬件的角度来说,实际上并不是所有的thread能够在同一时刻执行。 例如:一个block 有128个thread,那么可以分为warp0~warp3,SM同时只执行一个warp,其他warp以就绪,挂起等状态
2016-01-19 13:17:35 9011 3
原创 CUDA编程——Mars:MapReduce on GPU
CUDA编程——Mars:MapReduce on GPUGPU加速机器学习 GPU是一种SIMT(单指令多线程)体系结构,即多个线程执行同一个指令,而每个线程操作的数据不同。这种结构令GPU天生具有大规模计算能力。GPU出色的浮点计算性能特别提高了深度学习两大关键活动:分类和卷积的性能,同时又达到所需的精准度。深度学习需要很高的内在并行度、大量的浮点计算能力以及矩阵预算,而GPU可以提供这些能力
2016-01-19 11:31:21 5060
原创 CUDA编程——GPU架构,由sp,sm,thread,block,grid,warp说起
掌握部分硬件知识,有助于程序员编写更好的CUDA程序,提升CUDA程序性能,本文目的是理清sp,sm,thread,block,grid,warp之间的关系。由于作者能力有限,难免有疏漏,肯定读者批评指正。
2016-01-19 10:04:36 56134 9
原创 CUDA编程——简介
CUDA编程——简介参考了很多大神的内容,并非完全原创,只是为了查漏补缺,记录自己的学习过程。个人水平有限,错误难免,欢迎讨论。
2016-01-18 18:49:52 4675 1
原创 CUDA编程——Memory Coalescing
为了利用总线带宽,GPU通常把多个线程的访存合并到较少的内存请求中去。本文主要介绍,GPU总线如何访问内存,以及bank conflicts。
2016-01-18 18:05:03 5202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人