自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++注意事项

写这个主要是为了记录一些自己觉得有用但不一定记得住的东西。1.freopen在vs2013之后已有改变,改用freopen_s,示例:FILE*stream;freopen_s(&stream,"C:\\temp\\test.txt","r",stdin);不定期更

2017-01-31 14:01:17 831 2

原创 Learning Java(二)applet

第一个Java applet,我们选择绘制简单的字符串。

2016-12-01 20:09:32 604 1

原创 Learning Java(一)引言

想着系统地学一下Java也不是一天两天了。以前做项目也用到过,当然只是边百度边在别人的基础上改改。现在系统地学一下,当然也是以项目为基础,这样能够理解得更深入一些,况且我的主要方向也不是对某个语言特别精通,没这个必要,只要保证以后能用,能随手做个东西出来就行。在此将我一步步学习Java的经历记录下来,一是方便初学者,二是方便我自己以后梳理这段经历。国外许多著名高校计算机系学的第一门语言都是

2016-12-01 19:39:31 875

原创 《基于CUDA的并行程序设计》阅读笔记(一)

一个完整的CUDA工程由主机代码和设备代码组成。主机代码在CPU上串行执行,是普通的c代码。设备代码在设备端GPU上并行执行,称为内核。kernel并不是一个完整的程序,而是任务中全部可分解并行执行的步骤的集合。并行就层次而言主要指block间并行和thread间并行。

2016-11-05 21:15:32 1758

原创 CUDA8.0thrust编程报错

首先讲一下最近在thrust上遇到的坑吧,记住,现在千万不要用CUDA8.0做,我试了一下,7.5是可以的。在对着官方Toolkit:Documention敲程序时老是卡壳,反馈的原因总是bas_alloc:what():unknown,这就让人很不解了。我还特地打开bad_alloc.h看了一下,那个头文件自己都没写全。。所幸程序换到7.5上跑还是可以的,大家注意一下,8.0上thrus

2016-11-03 21:17:26 999

原创 class template std::vector

Vectors are sequence containers representing arrays that can change in size.Just like arrays, vectors use contiguous storage locations for their elements, which means that their elements can also

2016-10-30 14:54:33 698

原创 CUDA中编译时显示helper_functions.h:No such file的解决办法

看到网上不少人说自己在CUDA编程时会遇到这样一个问题,对拷贝过来的.cu文件执行nvcc命令时会显示error helper_functions.h:No such file的错误。困难的是连helper_functions.h这个头文件在哪都不知道。这个问题其实很好解决,我以最简明扼要的文字来给出一个解决方案:1.首先,改正直接用nvcc命令编译程序的习惯,换成makefile。2

2016-10-30 11:11:05 9977 1

原创 main函数的参数列表

我们在学习编程时,总会看见main(),或main(int argc,char *argv[])。这些参数是可省略吗,具体意思又是什么呢?这也许是国内接触编程语言时碰到的几乎最基础的知识了,这里还是解释一下比较好。argc表示总的命令参数,              char *argv[]是一个字符数组,大小是argc,它总是不为空的,第0个元素一般为程序的全名。一般写程序时都会

2016-10-28 16:11:06 807

原创 gprof

先空着,以后码

2016-10-26 09:56:44 349

原创 CUDA库之Thrust篇

哈哈哈

2016-10-26 09:42:12 2572

原创 关于size_t类型的整理

因为用的比较多,所以我决定整理一下size_t的知识点。其实说白了就是一种数据类型,在标准C库中定义的,应为unsigned int,在64位系统中为 long unsigned int。size_t为什么麻烦呢,因为它引起了我程序的问题,也是一种玄学的bug:Typename is not allowed.这个报错经常是与size_t一起出现的,所以当发现这个错误时,就必须弄懂siz

2016-10-26 09:40:05 4853

原创 CUDA卷积加速(一)

保存

2016-10-26 09:03:45 11280 3

转载 网上找到的一篇适合初学者看的CUDA使用说明,良心干货

CUDA是什么        CUDA,Compute Unified Device Architecture的简称,是由NVIDIA公司创立的基于他们公司生产的图形处理器GPUs(Graphics Processing Units,可以通俗的理解为显卡)的一个并行计算平台和编程模型。        通过CUDA,GPUs可以很方便地被用来进行通用计算(有点像在CPU中进行的数值计算等等)

2016-10-23 16:43:39 17158

原创 GPU中基于CUDA计算SM中active block和active warp及普遍优化流程

CUDA优化第一要义是设计block和thread的dimension,这时active block和active warp就必须要考虑了。(一维的同学请回避谢谢)首先通俗地讲一些CUDA优化的常识吧accurancy:只在关键步骤使用双精度,其他部分仍然使用单精度浮点以获得指令吞吐量和精度的平衡;建议将双精度放在CPU里计算。异构并行会给项目加分哦latency:降低延迟需要考虑缓冲

2016-10-23 10:39:46 3667

原创 基于CUDA的GPU优化方法

初学CUDA,往往拿到代码无从下手,也没有什么明确的思路。我想有必要把前人的经验总结拿出来,便于后来者更快掌握这门技术。对于block和thread的分配问题,有这么一个技巧,每个block里面的thread个数最好是32的倍数,因为,这样可以让计算效率更高,促进memory coalescing。其实,每个grid里面block的dimension维度和size数量,以及每个block里面的

2016-10-18 19:44:15 3351

原创 DLL文件概述及安装方法

在日常生活中,我们经常在浏览电脑文件,特别是安装某款软件寻找bin文件夹里的setup时(这里专指使用windows系统的用户,linux大神别处走),碰到.dll文件。看懂世界需要一双善于怀疑的眼睛,那么,这个.dll文件到底是什么,有什么用呢?“DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不

2016-10-17 19:40:34 3149

原创 extern "C"

大家在学习C语言或C++时一定都学过extern关键字,它是用来声明一个函数或变量在本模块和其他模块中皆可用。除此之外,还可以进行链接指定。也就是说,当编译器编译时遇到了,不会立即报错,而是在链接阶段到目标模块找到。虽然说C++和C有许多相似的地方,但C++毕竟还是面向对象的语言,它支持函数重载,而C则不支持。细节上体现在编译后在函数库中保存的名字不同,同一个函数名C++会在名字后面加上变量的

2016-10-17 19:09:45 331

原创 关于内存分配时malloc()和calloc()的区别

动态分配内存空间,较为熟悉的是malloc(),但有时也会用calloc()。两者有何区别呢?先写一下两者的常规用法示例吧。void *malloc(size_t size);void *calloc(size_t count,size_t size);可见两者使用时参数不同。malloc(0有一个参数,代表着要分配的内存大小calloc()函数有两个参数,

2016-09-28 17:09:14 3119

原创 关于CUDA5之后cutil.h不可用的问题

用CUDA进行GPU加速开发的同学在移植一些代码片段时应该都有过这样的经历,如果自己用的是高版本的CUDA,系统有时会报错:CANNOT FIND CUTIL.H。查看代码才发现原来是多了CUTIL.H,CUTIL_MATH.H,CUTIL_INLINE.H的头文件。这种报错该如何处理呢?可以先尝试着注释掉这三个头文件,再运行一下,看看到底是哪里调用到。不出意外的话,系统弹出的error总是C

2016-09-27 10:38:16 5395 1

原创 Android Studio 2上利用NDK进行OpenCV 3.1开发

原创一个链接,哈哈哈。http://johnhany.net/2016/07/opencv-3-1-ndk-dev-on-android-studio-2/

2016-07-12 14:41:31 485

转载 bat文件编写

首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令,用记事本即可编写。其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命

2016-06-02 09:27:52 363

原创 在六月的第一天终于丢失了睡眠

无法入睡,室友的键鼠声声声入耳,当然,他还开了语音。已经一年了,长期失衡的睡眠让我感到乏力和疲惫,以至于对我的健康产生了不良的影响。最终的结果就是失眠。早就听说国内有的大学两点之前是没有睡觉这一说法的,看来很不幸,我入坑了。以前说偌大的校园里放不下一张安静的书桌,现在连张安静的床都放不下了,真是可悲。其实已经提醒了不止一遍了,事实上是说了一年,可是人脸皮厚起来是没有办法的,一点办法

2016-06-02 02:22:41 605

原创 C++模板元入门(入坑)体验

其实我也不知道这能不能算入门,只能说看了之后大体上能有一个概念。之前在知乎(逼乎)上看到关于程序员不为人知的禁术的话题,手滑点开看到一个c++模板元编程,说是C++的最高级禁术,也有人说它是黑魔法,但不管怎样,应该是黑科技的那一种,而黑科技都是很具有诱惑力的。刚入门(入坑),了解肯定不详细,先把这阶段的学习记下来,以后再慢慢修正完善,有什么错误也请大家指正。粘一段百度先C+

2016-05-18 23:50:52 4371

原创 回归博客的说明

这是我在csdn的第一篇博客,是在舍友恶劣的脚臭环境下写的,很心酸,集体生活总是会有一些不尽如人意的地方。时代在抛弃qq,微信,因为里面的人太杂太乱,更像是一个被挤压的社会。人越来越渴望与相似的人交谈,与懂自己的人交谈。希望csdn能让我感到熟悉与理解,技术圈里氛围总归要好一点罢。英语不好,技术贴还是英文的高大上一些。以后还是要认真学外语。

2016-04-26 10:33:59 469

CUDA卷积详解

描述了GPU架构下CUDA编程处理卷积的方法

2016-11-04

Windows内核安全与驱动开发

挺详细的

2016-10-30

CUDA官方实用详解工具书

非常官方、详细地解答了cuda编程时的很多技巧

2016-10-30

空空如也

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

TA关注的人

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