自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员的自我修养_Will.zhang

关注多核计算&高性能计算

  • 博客(19)
  • 资源 (8)
  • 收藏
  • 关注

原创 引用与指针的比较

函数是C++/C程序的基本功能单元,其重要性不言而喻。函数设计的细微缺点很容易导致该函数被错用,所以光使函数的功能正确是不够的。本章重点论述函数的接口设计和内部实现的一些规则。函数接口的两个要素是参数和返回值。C语言中,函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer)。C++ 语言中多了引用传递(pass by referen

2013-05-18 21:29:55 1278

转载 heap corruption detected错误解决方法调试方法以及内存管理相关

1、heap corruption detectedhttp://vopit.blog.51cto.com/2400931/645980 heap corruption detected:after normal block(#xxx) at 0x xxxxxxxxcrt detected that the application wrote to menory after end

2013-05-18 17:25:23 3182

原创 error C2662: 不能将“this”指针从“const Node_align”转换为“Node_align &”解决方案

先贴代码void Insert2NodeAlign(int n1,int n2,int n3,int id){ Node_align DFStmp=Node_align(n1,false,n2,n3,id); DFSNL_i=DFS_Nlist.find(Node_align(DFStmp)); if (DFSNL_i!=DFS_Nlist.end()) { DFS

2013-05-17 11:47:06 2054

转载 程序员的十层楼

第1层 菜鸟 第1层楼属于地板层,迈进这层楼的门槛是很低的。基本上懂计算机的基本操作,了解计算机专业的一些基础知识,掌握一门基本的编程语言如C/C++,或者Java,或者JavaScript,...,均可入门迈进这层。 在这层上,中国有着绝对的优势,除了从计算机专业毕业的众多人数外,还有大量的通信、自动化、数学等相关专业的人士进入这一行,此外还有众多的其他专业转行的人士,人

2013-05-14 16:13:01 1193

原创 C语言模块化要点

在C语言的应用领域,如通讯领域和嵌入式系统领域,一个的软件项目通常包含很多复杂的功能,实现这个项目不是一个程序员单枪匹马可以胜任的,往往需要一个团队的有效合作,另外,在一个以C代码为主的完整的项目中,经常也需要加入一些其他语言的代码,例如,C代码和汇编代码的混合使用,C文件和C++的同时使用。这些都增加了一个软件项目的复杂程度,为了提高软件质量,合理组织的各种代码和文件是非常重要的。

2013-05-12 21:02:31 1958

原创 c 语言的模块化

当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员都将自己负责的模块写完并调试无误后,由项目组长进行组合调试。像这些场合就要求程序必须模块化。模块化的好处是很多的,不仅

2013-05-12 15:17:50 1050

原创 error LNK1169: 找到一个或多个多重定义的符号”的解决方法

问题描述如下:有 三个源文件,A.h、B.cpp、C.cpp。A.h是头文件,其中声明了三个变量a1、a2、 a3。B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。在编译时,编译能够通过,但链接时出了问题,出现”error   LNK1169:   找到一个或多个多重定义的符号“的错误。经过分

2013-05-12 10:46:08 1655

原创 电容键盘

全称无接点静电电容式键盘(Capacitive Keyboard)此类型键盘少见且昂贵,特色是你拆开也会看到一片绿绿的电路板,上头有电路,但按键上并没有任何机械式元件"焊"在对应的电路版上。触感用橡胶、弹簧等创造。switch的开与关靠静电容量感应来决定,因此要高技术力才能作的精准,少见。 目前市面上知名的电容键盘有日本Topre的Realforce系列键盘和富士通的Happy Hacking

2013-05-12 10:06:35 1721

原创 cuda编程之数据更新小技巧

不知道大家有没有遇到这样的情况:在某个迭代计算过程中,数组new的计算需要old的值,当计算完成后,需要把new的值写入old再下一次迭代?如果这里使用memcpy的方式,当数据量较大的时候会很耗时的!解决方法:交换指针也就是把指向设备内存new和old的指针进行交换,这样就避免了memcpy的时间消耗~当然用过的人无视以上内容~交换方法:定义一个函数voi

2013-05-09 23:57:57 1217

原创 SM,SP和GRID,BLOCK,THREAD之间的对应关系是什么?

SM,SP是硬件结构GRID,BLOCK,THREAD是软件概念从硬件角度讲,一个GPU由多个SM组成(当然还有其他部分),一个SM包含有多个SP(以及还有寄存器资源,shared memory资源,L1cache,scheduler,SPU,LD/ST单元等等),1.x硬件,一个SM包含8个SP,2.0是32个,2.1是48个,3.0和3.5是192个。以及SP目前也称为CUDA

2013-05-09 14:53:51 9006

原创 code generation的问题

在VS平台下这个选项貌似是要手动指定的根据本机卡计算能力进行相应的设置我的显卡是3.0的设定 compute_30,sm_30若默认compute_10,sm_10效率不是很高。此问题有待研究

2013-05-09 14:49:21 1600

原创 CUDA编程疑问答疑

子说 18:57:32 我有一个问题子说 18:58:50 比如有几个int 型的常数,需要在gpu显存里传入一份嘛子说 18:59:04 还是在函数调用的时候传入子说 18:59:09 哪一种更好19:14:27 作为函数的参数即可19:14:50 你要copy到global memory里面再用也可以19:15:02 作为参数可能更好一点

2013-05-08 19:26:41 813

原创 高效程序员的 7 个共同特征

要想成为高效的程序员,你需要具备一定的综合素质才能够让你用你所掌握的技能、经验和知识编写出有效的代码。有一些开发人员在技术方面具备一定的技巧,但他们永远无法成为高效的程序员,就是因为他们缺乏所需的其它几项特质。本文将给出成为一个伟大的程序员所必须具备的7项特质。1. 主动学习新的技术和非技术两方面的知识不好的程序员只有在实在不行的时候才开始进行知识学习。良好的程序员会主动学习新的技

2013-05-08 16:13:18 687

转载 程序员的出路之一

就现在经济大环境而言,很不乐观,程序员的日子也很不好过,无论是还在找工作的、还是已经入职多年、哪怕做到项目经理技术经理的,压力都异常巨大,似乎处处充满危机。但是,仔细分析一下,出路还是有的,甚至解决温饱、过上有房有车没贷款的生活也是很可能的。首先,在如今这个浮躁的社会,大多数人的心态也是浮躁的,只要你能潜下心来,深入研究某个技术,有了一技之长,温饱问题肯定就可以先解决了。1.一技之长新技术

2013-05-08 10:37:01 767 1

转载 template<int N> struct A和template<const int N> struct A有区别吗?

个人认为如果你这么模版仅仅处理逻辑上是没任何区别的..但是我以前碰到过这样的情况..下面我来说一下..曾经我创建了一个模版 传入的是一个char*运行一直很正常.有一天我突然发现程序会无缘无故崩溃..后来找出原因..因为我传入的一个字符串数据的地址发生了问题..后来发现我模版接收的数据为char*可能是我在传入后做了其他的操作造成了他的地址发生了变化..或者是个临时变量等等问题..

2013-05-07 16:25:07 2772

原创 cuda入门:runtime API创建CUDA程序

CUDA 目前有两种不同的 API:Runtime API 和 Driver API,两种 API 各有其适用的范围。由于 runtime API 较容易使用,一开始我们会以 runetime API 为主。  CUDA 的初始化  首先,先建立一个档案 first_cuda.cu。要使用 runtime API 的时候,需要 include cuda_runtime.h。所以,在

2013-05-07 13:27:37 3069

原创 cuda优化要点

一、选择好的并行方式选择好的算法,以发掘更多的数据并行性二、保持SM忙碌尽量利用所有的SM参与计算,可以通过加大数据量或减少线程块大小达到目的。三、优化存储器利用保证全局存储器合并访问(相邻线程访问段对齐的相邻地址)使用速度更快的constant或shared存储器

2013-05-07 10:42:55 968

原创 cuda编程优化小技巧之分支优化

cuda编程优化原则之一就是要减少分支分支优化    消除分支结构的小技巧    例如:if(  a>b ){a=c;} else {a=0;}    可以替换为:a=( a>b )*c;

2013-05-07 10:33:37 1999 2

原创 三千里路 文字珍贵

出行九天,回来大概是要写点什么的。算是第一次“旅行”。包括了太多的第一次,譬如第一次去南方、第一住青旅、第一次见到某些朋友……,历经广州、佛山、深圳、成都、遂宁……遇到的美景美食、各色风土,简直目不暇接。许久不写博客,大概是要沉淀些什么的。(一)   行万里路 读书万卷     大概读了很多年书,也早早就有出去旅行的打算,却总是搁浅。去年准备好了背包,这次以考察南方的名义,终于要让身体在路

2013-05-04 22:51:19 810

CUDA_Zcuda能力检测工具

GPU发展越来越快,性能也越来越强大,它也不再仅限于3D图形加速了,GPGPU通用处理器才是未来的发展方向,而且也是以C语言为基础,为CUDA编程也不困难。CUDA的前景很好,普及应该是很迅速的。 CUDA-Z就像我们常用的GPU-Z,但是具体参数就变成了针对CUDA应用方面的信息,支持CUDA信息查询,还可以测试电脑CUDA的速度。新版本加入对Double性能测试,需要GT200或以上显卡才支持此项测试。

2013-04-15

vs2010助手破解版

注意: 用vs2010的朋友必须将“工具”-“选项”-“环境”-“扩展管理器“-”以管理员身份..."选上,否则助手无效

2013-03-26

GPU-Z.0.6.9

GPU-Z是一款轻量级显卡测试软件。绿色免安装,界面直观,运行后即可显示GPU核心,以及运行频率、带宽等,如同CPU-Z一样,这也是款必备工具。用于显卡检测,适用于GPU通用计算领域。

2013-03-26

所有关于树的函数实现

所有关于树的函数实现 数据结构与算法 所有关于树的函数实现

2011-11-09

C++ 编程思想

C++ 编程思想 帮助你更好的学习C++ 编程思想

2011-11-08

最优化方法作业

最优化方法作业 大连理工大学

2011-11-08

Wolfe Powell 最优化方法 C++ 程序

Wolfe Powell 最优化方法 C++ 程序

2011-11-08

Wolfe Powell 最优化方法 C++ 程序

Wolfe Powell 最优化方法 C++ 程序

2011-11-08

空空如也

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

TA关注的人

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