C与C++
文章平均质量分 78
jiandingzhe
这个作者很懒,什么都没留下…
展开
-
CUDA与内存池(二):内存池指针
前面的内存池只是提供了内存分配的功能。为了能方便地使用,还需要一些其它的设施。单例把内存池弄成单例类,用起来会比较方便。因为这样就可以在任何地方,通过类方法得到内存池的实例,即便内存池是在某个看不到的地方建立的。而且可以保证每种类型的池子只有一个。单例类通常都这样实现:类里面有一个静态属性,存有一个实例,并且通过类方法访问这个实例。构造器保证实例只有一个。template c原创 2012-08-29 09:47:43 · 1315 阅读 · 0 评论 -
CUDA与内存池(一):内存池
我正在尝试搞一个物理引擎,计划先用常规的技术实现,将来弄到GPU上以获得更高的性能。那么,虽然现在只是在本机上面运行,最好能够做一些往CUDA上面移植的准备,以减少将来的工作量。GPGPU计算有个显著的特点:它是异构的,相当于同时操纵两台电脑。这两个东西各自有一套内存,通过几个cuda函数进行内存交互。于是就产生了地址的问题。考虑下面的代码:class Foo {};class Bar原创 2012-08-27 15:54:53 · 2262 阅读 · 0 评论 -
CUDA与内存池(三):引用计数的智能指针
智能指针与引用计数上一篇博客里,将内存池返回的索引包装成了一个指针类,以方便使用。这里介绍一下如何构造一个智能指针,以便更方便地使用。智能指针使用引用计数进行内存管理。每个对象都记录自己被多少地方所引用。每当增加一个引用的位置时,这个数加1;引用减少时减1。当减到0时,说明没有地方使用这个对象,就将其删除。引用计数有两种存放方式:一种是作为一个成员,存放于被引用的对象中;另一种是由指针原创 2012-09-03 21:29:21 · 1452 阅读 · 0 评论