07 2012 档案

摘要:某些论坛上经常有一些人,他们会发一些有趣的图片,“另存为”之后,你发现这是一张正常的图片。但是,如果你把它扩展名改为.rar之后,你会发现它可以正常的解压,解压之后里面有一些别的文件,比如BT种子(你懂的)。那么这是什么原理呢?其实,原理非常非常简单。你自己也可以做,而且不需要任何额外软件。我们先简单讲一点原理,再讲怎么做。1 JPG和RAR文件格式我们这里不需要知道全部格式信息,只要了解一丁点有用的就可以。 JPG格式的图片是经过离散余弦变换压缩的,他的格式是这样:SOI(0xFFD8)APP0(0xFFE0)[APPn(0xFFEn)]可选DQT(0xFFDB)SOF0(0xFFC0)DH 阅读全文
posted @ 2012-07-28 20:11 喜欢阿亮的小水 阅读(462) 评论(0) 推荐(0)
摘要:特此声明:这个内容我是转别人的我只摘录一些我需要的东西,若是想看原文的,请点击下面的链接原文:http://hi.baidu.com/coolrainbow/item/de05efc83151671a505058781 硬件架构CUDA编程中,习惯称CPU为Host,GPU为Device。2 并行模型Thread:并行基本单位Block:相互合作的一组线程。可以彼此同步,快速交换数据,最多可以512个线程Grid:一组Block,有共享全局内存Kernel:在GPU上执行的程序,一个Kernel对应一个GridBlock和Thread都有各自的ID,记作blockIdx(1D,2D),thre 阅读全文
posted @ 2012-07-28 16:23 喜欢阿亮的小水 阅读(3078) 评论(0) 推荐(0)
摘要:小生在写cuda程序时 遇到的一个问题就是:对#define 和 const 有疑问到底哪个执行的速度更加快一些呢?下面是我看了很多的评论后得到的答案:#define 一般来说用于 字符串[string] 和 数字的 替代 ,默认区分大小写我们将这个# define又称 做宏 ,所有叫做宏的都有一个特点就是,它是在预处理时的文本替换,替换了之后呢,相当于一个变量,(当然,它和变量还有很大的区别的,因为它根本就不占空间)#define num 23 并不存在一个和num相关联的空间Const就是定义一个变量,它分配一个空间,在编译时如果有其它操作改变它,编译器就不会同意的。度过编译期,它就和普通 阅读全文
posted @ 2012-07-25 15:50 喜欢阿亮的小水 阅读(230) 评论(0) 推荐(0)
摘要:需要注意的是在CUDA的3.1版本以后,CUDA Visual Profiler和OpenCL Visual Profiler已经被集成到单独的Compute Visual Profiler应用程序中了。Compute Visual Profiler 4.0提供了一个新的分析功能,提供基于profiling数据的性能分析。该功能也提供了多种优化提示来提高程序的性能。 阅读全文
posted @ 2012-07-24 20:23 喜欢阿亮的小水 阅读(180) 评论(0) 推荐(0)
摘要:CUDA编程模型CUDA编程模型将CPU作为主机,GPU作为协处理器(co-processor)或设备。在这个模型中,CPU负责逻辑性强的事务处理和串行计算,GPU则专注于高度线程化的并行处理任务。CPU、GPU各自拥有相互独立的存储器地址空间。一旦确定了程序中的并行部分,就可以考虑把这部分计算工作交给GPU。kernel:运行在GPU上的C函数称为kernel。一个kernel函数并不是一个完整的程序,而是整个CUDA程序中的一个可以被并行执行的步骤。当调用时,通过N个不同的CUDA线程执行N次。一个完整的CUDA程序是由一系列的设备端kernel函数并行步骤和主机端的串行处理步骤共同组成的 阅读全文
posted @ 2012-07-16 13:02 喜欢阿亮的小水 阅读(1706) 评论(0) 推荐(0)
摘要:原文地址:http://www.cnblogs.com/Fancyboy2004/archive/2009/04/28/1445637.htmlcuda入门——GPU 的硬件架构 这里我们会简单介绍,NVIDIA 目前支持 CUDA 的 GPU,其在执行 CUDA 程序的部份(基本上就是其 shader 单元)的架构。这里的数据是综合 NVIDIA 所公布的信息,以及 NVIDIA 在各个研讨会、学校课程等所提供的数据,因此有可能会有不正确的地方。主要的数据源包括 NVIDIA 的 CUDA Programming Guide 1.1、NVIDIA 在 Supercomputing ' 阅读全文
posted @ 2012-07-12 21:07 喜欢阿亮的小水 阅读(254) 评论(0) 推荐(0)
摘要:目前市场上的NVIDIA显卡都是基于Tesla架构的,分为G80、G92、GT200三个系列。Tesla体系架构是一块具有可扩展处器数量的处理器阵列。每个GT200 GPU包含240个流处理器(streaming processor,SP),每8个流处理器又组成了一个流多处理器(streaming multiprocessor,SM),因此共有30个流多处理器。GPU在工作时,工作负载由PCI-E总线从CPU传入GPU显存,按照体系架构的层次自顶向下分发。PCI-E 2.0规范中,每个通道上下行的数据传输速度达到了5.0Gbit/s,这样PCI-E2.0×16插槽能够为上下行数据各提 阅读全文
posted @ 2012-07-07 20:18 喜欢阿亮的小水 阅读(911) 评论(0) 推荐(0)
摘要:CUDA存储器模型:GPU片内:register,shared memory;板载显存:local memory,constant memory, texture memory, texture memory,global memory;host 内存: host memory, pinned memory.register: 访问延迟极低; 基本单元:register file (32bit/each) 计算能力1.0/1.1版本硬件:8192/SM; 计算能力1.2/1.3版本硬件: 16384/SM; 每个线程占有的register有限,编程时不要为其分配过多私有变量;local me. 阅读全文
posted @ 2012-07-07 18:41 喜欢阿亮的小水 阅读(829) 评论(0) 推荐(1)
摘要:CUDA C不是C语言,而是对C语言进行扩展。CUDA对C的扩展主要包括以下四个方面: 函数类型限定符,用来确定函数是在CPU还是在GPU上执行,以及这个函数是从CPU调用还是从GPU调用。__device__,__device__表示从GPU上调用,在GPU上执行; __global__,__global__表示在CPU上调用,在GPU上执行,也就是所谓的内核(kernel)函数;内核主要用来执行多线程调用。 __host__,__host__表明在CPU上调用,在CPU上执行,这是默认时的情况,也就是传统的C函数。CUDA支持__host__和__device__的联用,表示同时为主机和设 阅读全文
posted @ 2012-07-07 16:11 喜欢阿亮的小水 阅读(646) 评论(0) 推荐(0)