5 ZhangJunior

尚未进行身份认证

苦练搬砖

等级
TA的排名 7w+

缺少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

CUDA编程中 extern "c"用法解析

简介  extern “c”并不是什么新鲜的东西,但是最在编译CUDA程序时候出现了“error LNK2019,未定义的符号”的问题。这不用说了,链接器说找不到,那就是找不到咯。但是why?我的源码中明明已经有了定义。 后来发现是extern “c”的问题。extern “C”  C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序

2016-09-29 18:29:07

从FCN到DeepLab

前言  最近看了一些语义分割的文章DeepLab,写写自己的感受,欢迎指正。介绍  图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类。   图像语义分割,从FCN把深度学习引入这个任务到现在,一个通用的框架已经大概确定了。即前端使用FCN全卷积网络输出粗糙的label map,后端使用CRF条件随机场/MRF马尔科夫随机场等优化前端的输出,最后得到一个精细的分割图。

2016-09-22 15:33:08

编译器错误 C2989

编译器错误 C2989非类模板已经声明为类模板,,微软知识库中有说明 但是还有一种情况,微软没提到,就是 当模板函数返回类型为enum时候下面是微软的说明编译器版本 Visual Studio 2013 “class” : 类类型已声明为非类类型 类泛型或模板重定义非模板或非泛型类。检查头文件中是否有冲突。 如果您在使用类模板部分专用化,请参见知识库文章 Q240866。 下面的示例生成

2016-09-13 09:06:05

使用Nuget管理第三方库吧

前言用visualstudio开发的童鞋们应该都有这样的感受,经常在copy别人的项目后,出现找不到xxx.h,找不到xxx.lib,找不到balabala。甚至还有“模块计算机类型“x86”与目标计算机类型“x64”冲突”,“模块计算机类型“x64”与目标计算机类型“x86”冲突”等等令人烦躁的提示!很多时候都是工程中使用了第三方库,而工程又没有能够自适应的配置文件能帮我们找到这些第三方库造

2016-04-07 15:30:38

CUDA编程——zero copy

零复制  zero copy(零复制)是一种特殊形式的内存映射,它允许你将host内存直接映射到设备内存空间上。其实就是设备可以通过直接内存访问(direct memory access,DMA)方式来访问主机的锁页内存。   锁页主机内存  现代操作系统都支持虚拟内存,操作系统实现虚拟内存的主要方法就是通过分页机制。操作系统将内存中暂时不使用的内容换出到外存(硬盘等大容量存储)上,从而腾出空间存

2016-02-04 13:40:38

Visual C++在虚继承中使用协变报错

协变和抗变  一个覆盖方法要求函数具有完全相同的入参(抗变),这个规则对返回类型而言,则有所放松。覆盖的返回值不区分基类或派生类。从语意上理解,返回值的派生类也是基类(协变)。就是说!派生类的覆盖方法就可以改变返回类型,但是不是任意改变,可以改变为原来类型的派生。   Visual C++在虚继承中使用协变会报错。这是微软编译器的一个bug,不过,微软说他们不会修复!参考微软公告。钻石继承  一个

2016-01-23 16:03:30

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

CUDA编程——Mars:MapReduce on GPU

CUDA编程——Mars:MapReduce on GPUGPU加速机器学习  GPU是一种SIMT(单指令多线程)体系结构,即多个线程执行同一个指令,而每个线程操作的数据不同。这种结构令GPU天生具有大规模计算能力。GPU出色的浮点计算性能特别提高了深度学习两大关键活动:分类和卷积的性能,同时又达到所需的精准度。深度学习需要很高的内在并行度、大量的浮点计算能力以及矩阵预算,而GPU可以提供这些能力

2016-01-19 11:31:21

CUDA编程——GPU架构,由sp,sm,thread,block,grid,warp说起

掌握部分硬件知识,有助于程序员编写更好的CUDA程序,提升CUDA程序性能,本文目的是理清sp,sm,thread,block,grid,warp之间的关系。由于作者能力有限,难免有疏漏,肯定读者批评指正。

2016-01-19 10:04:36

CUDA编程——简介

CUDA编程——简介参考了很多大神的内容,并非完全原创,只是为了查漏补缺,记录自己的学习过程。个人水平有限,错误难免,欢迎讨论。

2016-01-18 18:49:52

CUDA编程——Memory Coalescing

为了利用总线带宽,GPU通常把多个线程的访存合并到较少的内存请求中去。本文主要介绍,GPU总线如何访问内存,以及bank conflicts。

2016-01-18 18:05:03
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!