posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

翘课去浙大。

posted @ 2008-03-25 21:20 ZelluX 阅读(415) | 评论 (7)编辑 收藏

一个用Lattice Boltzmann Method模拟三维空间中不可压缩流体的程序,示意图见底部。
转这个程序实在是太耗体力了 -_-b

Brook本身的不少缺陷、bug,加上不习惯科学计算程序的代码风格,导致大多数时间都在fix bug。

其中de掉以后最有快感的一个bug:(只能这么形容了 >,<)

每个cell都有一个flag值,尽管类型是double,但是程序中是用一个MAGIC_CAST宏把它当作整型处理的。
初始情况,每个cell的flag都为~f,也就是一个1~28位都是1,29~32位为0的double型浮点。根据IEEE标准,应该是个NaN。
CPU上没有问题,放到GPU上问题就出来了,GPU不支持这种转型操作,在对这个double型进行运算操作的时候,所有结果都会变成NaN。

解决方法:
在把数据传给GPU之前可以先把这些flag值转换为GPU可以操作的double型,最简单的方法就是都先转成int(会有truncating),然后取反,再传给GPU。


what_you_compute.png

posted @ 2008-03-24 21:16 ZelluX 阅读(689) | 评论 (1)编辑 收藏

看来这年头Stream Programming要越来越热哈,恩,期待~~



发信人: freelife (陪你一起老), 信区: METech
标 题: Intel披露CPU/GPU混合芯片细节和时间 zz
发信站: 水木社区 (Tue Mar 18 22:54:49 2008), 站内

估计AMD和NV要急了~~

3月18日消息,英特尔2008年春季开发商论坛会议下个月将在中国上海召开。英特尔在会前的新闻发布会上简单地介绍了英特尔即将推出的图形芯片内核“Larrabee”的状况。

  “Larrabee”与AMD的Radeon和NVIDIA的GeForce处理器有很大区别。“Larrabee”是以中央处理器架构中使用的 x86指令集为基础的。英特尔副总裁Steve Smith强调说,
“Larrabee”不仅是一个图形处理器,而且是能够完成任何流处理任务的多核芯片。

  Smith没有详细说明“Larrabee”芯片中有多少个内核,不过,英特尔2006年披露的早期方案是采用16个内核。每个内核的运行速度都超过2GHz。

  “Larrabee”芯片显然能够升级到数千个内核,共享与英特尔的Tera级计划相同的研究成果。除了x86的方式之外,英特尔将很快发布一个名为 “Advanced Vector
Extensions”(高级矢量扩展)的另一种像SSE扩展那样的扩展集。这些扩展可能把“Larrabee”芯片的x86指令集与Core 2 Duo和Phenom处理器的x86指令区别开来。Smith说,
“Larrabee”将支持OpenGL、 DirectX控件和光跟踪指令。

  英特尔把处理器与图形处理器混合在一起的芯片将有两种版本。这两种版本都采用Nehalem处理器架构。第一种版本代号为“Havendale”,是一种台式电脑芯片,第二种版
本代号为“Auburndale”,是一种笔记本电脑芯片。

  “Auburndale”和“Havendale”这两种芯片将采用两个Nehalem内核和一个图形子系统。两个内核共享4MB二级缓存和一个集成的双通道内存控制器,支持内存配置最高可
达DDR3-1333。

  图形子系统最初是采用英特尔G45集成图形芯片。这表明上述两种芯片都没有强大的图形处理能力,只不过是集成图形芯片的替代品。

  事实上,这两种图形芯片内核都省略了支持DirectX 9和DirectX 10的关键功能。这个基于G45图形芯片的内核最终将被高级的“Larrabee”图形处理器所取代。

  根据英特尔的产品路线图,这种新的处理器预计将在2009年上半年进入市场。这将早于AMD Fusion处理器预计推出的时间。Fusion处理器计划在2009年下半年推出。

  Smith许诺说,“Larrabee”芯片最终推出的时候将比Radeon和GeForce芯片更有竞争力。

posted @ 2008-03-19 18:03 ZelluX 阅读(358) | 评论 (0)编辑 收藏

     摘要: 包括各种paper, survey以及workshop上的讲座等内容  阅读全文

posted @ 2008-03-15 14:46 ZelluX 阅读(1025) | 评论 (6)编辑 收藏

禅 意--之二

当一切都会过去
我知道 我会
慢慢地将你忘记

心上的重担卸落
请你原谅我
生命原是要

不断地受伤和不断地复原
世界仍然是一个
在温柔地等待着我成熟的果园

天这样蓝 树这样绿
生活原来可以
这样的安宁和 美丽

posted @ 2008-02-29 17:50 ZelluX 阅读(364) | 评论 (0)编辑 收藏

本来想看完pagefault的处理的,不过实验室有事情了,只能先把这一半放上来了。

页面的分配与回收使用了一个叫做buddy allocator的机制,kernelnewbies上的解释
The memory allocation scheme used in the kernel. A vector of lists of free pages is kept, ordered by the size of the chunk (in powers of two). When a chunk is allocated, it is removed from the relevant list. When a chunk is freed back to the free pages pool, it is placed in the relevant list, starting from the top. If it is physically contiguous with a present chunk, they are merged and placed in the list above (i.e. where the chunks are twice the size), and this operation percolates up the vector. As regions are merged whenever possible, this design helps to reduce memory fragmentation.

首先在zone_struct{} 中保存了一个free_area_t数组,这个数组记录了各种大小的空闲内存块的信息。
include/linux/mmzone.h:


free_area_struct {}

页面分配时,找到适合大小的free_area_struct{},然后从free_list中找有没有空闲的内存块,如果没有就找更大的free_area_struct{},因为大小都是2^n,很容易把大块内存拆开,一块分配给请求,剩下的保存到对应大小的队列中。
页面回收时主要的问题是如何解决过多的内存碎片。当页面块被释放时,先检查是否有相同大小的相邻空闲块存在,如果有的话就结合起来(递归过程)。

posted @ 2008-02-27 23:29 ZelluX 阅读(688) | 评论 (4)编辑 收藏

几天前的bug了,突然有兴趣想再试试

http://kerneltrap.org/Linux/Patching_CVE-2008-0600_Local_Root_Exploit

posted @ 2008-02-27 23:15 ZelluX 阅读(438) | 评论 (0)编辑 收藏

     摘要: 转载自水木KernelTech版。关于hack系统调用表的一篇文章,里面还涉及了上学期ICS Lab中的二进制代码注入,很好很强大。略作整理(为什么技术博客默认的字体不是等宽的 T.T)=-|================================================-{ www.enye-sec.org }-====|=-[ LKM Rootkits on Linux x86...  阅读全文

posted @ 2008-02-26 19:36 ZelluX 阅读(1289) | 评论 (4)编辑 收藏

     摘要: 越狱第三季最后一幕的歌曲蛮不错的,查到歌名叫Llorando,西班牙中“哭泣”的意思。google过程中还发现了这是某部叫做《穆赫兰道》的电影中的曲子,于是对这部电影也产生了兴趣。  阅读全文

posted @ 2008-02-26 11:56 ZelluX 阅读(470) | 评论 (0)编辑 收藏





Lyric:

posted @ 2008-02-22 13:11 ZelluX 阅读(436) | 评论 (0)编辑 收藏

仅列出标题
共39页: First 上一页 3 4 5 6 7 8 9 10 11 下一页 Last