04 2013 档案
摘要:问题描述:一般利用CUDA进行加速处理时,都需要测试CUDA程序的运行时间,来对比得到的加速效果.解决方法:1).GPU端计时,即设备端计时.2).CPU端计时,即主机端计时.设备端计时有两种不同的方不地,分别是调用clock()函数和使用CUDA API的事件管理功能.clock函数计时:1).在内核函数中要测量的一段代码的开始和结束的位置分别调用一次clock函数,并将结果记录下来.2).根据这两次clock函数返回值,作差计算,然后除以GPU的运行频率(SP的频率)即可以得到内核执行时间.一般只需要记录每个block执行需要的时间,最后将得到多个block的开始和结束时间,然后比较这多个
        阅读全文
                
摘要:在后序遍历二叉树时,只有遍历完左右子树后才能访问节点元素。故在退栈到根节点时必须判断是左子树还是右子树返回 的。若是从左子树返回,还要遍历完右子树,否则,即可访问节点元素。只要将返回到栈顶结点的前一个结点保存到一个变量中,判断它是栈顶结点的左孩子还是右孩子就可以区分。算法描述:typedef struct node{char data;node* lchild;node* rchild;}Node,*pNode;void PostOTraverseNRC(pNode T){pNode p=T;stack<pNode> STACK;do {while(p!=NULL){//先遍历完当
        阅读全文
                
摘要:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏这个是由于日志文件引起的,可以将项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。或者将项目\属性\配置属性\链接器\清单文件\生成清单:原来是“是”,改成“否”。如果仍然无效,判断是否已经安装了VS2012,如果已经安装,需要安装VS2010 sp1补丁。
        阅读全文
                
摘要:typedef typedef用法小结- -这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下:来源一:Using typedef to Curb Miscreant CodeTypedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮。typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常
        阅读全文
                
摘要:1 硬件架构 CUDA编程中,习惯称CPU为Host,GPU为Device。2 并行模型 Thread:并行基本单位 Block:相互合作的一组线程。可以彼此同步,快速交换数据,最多可以512个线程 Grid:一组Block,有共享全局内存 Kernel:在GPU上执行的程序,一个Kernel对应一个GridBlock和Thread都有各自的ID,记作blockIdx(1D,2D),threadIdx(1D,2D,3D) Block和Thread还有Dim,即blockDim与threadDim. 他们都有三个分量x,y,z 线程同步:void __syncthreads(); 可以同步一个B
        阅读全文
                
摘要:在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理.C初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理, 汇编, 编译, 连接过程集成到一起了. 编译预处理往往在后台运行. 在有的C编译器中, 这些过程统统由一个单独的程序来完成, 编译的不同阶段实现这些不同的功能. 可以指定相应的命令选项来执行这些功能. 有的C编译器使用分别的程序来完成这些步骤. 可单独调用这些程序来完成. 在gcc中
        阅读全文
                
                    
                
浙公网安备 33010602011771号