标签归档:毕业设计

需要考虑的几个问题

1.是需要在SPE上实现E-3里面那种数据驱动的几个SESSION的驱动方式,还是直接用SPE本身的调用方式来进行数据的采集和计算?
2.是针对所有的算法,还是所有的图形算法,还是一种算法进行加速?从理论上来讲
3.在写论文的时候,应该是采用对一个图形算法进行加速,可以用到的有FFT,POI,HIS,JPEG等等。
4.改变一个算法的算法模式是很重要的,可以选择Pipe或者Register Rotation方式。

设计的思路:
首先要寻找这些算法的一些共同点,然后想怎么分配任务到SPE,哪些是可能或者需要缓存的东西。怎么样用数学的方式来表达这些东西。
然后就是选取怎样的编程模式,真正实现一个东西,进行测试
最后是怎样得到测试数据。写论文。

后续任务:调查图形算法的共同点,以前人怎么优化过。

阅读论文和实践小结

第六次和山口老师会面,主要说了一下我对最近工作的进展情况的感受,和我了解和学习到的IBM CELL处理器相关编程知识。感觉后续的任务还是很艰巨的,有很多文档要阅读,很多论文要看。因为这些东西都是自己以前从来没有接触过的,基本算是要从最 底层原理,到接口文档,到实现,都要自己来干,除了仅有的C++还是有LIB扩从的。周围有没什么人好讨论的,好在老师英语还不错,所以这个毕业设计还是 很锻炼人的。不管是从英语水平,阅读论文,独立解决问题,从理解完全不知道的东西,到读文档,看SDK,看实例代码,配置环境,跑代码,写代码。相信会很 有收获的。 继续阅读

DATA-DRIVEN MACHINE

Basic knowledge
LISP: LISt Processor. It is a function language for the list.
Data-driven machine: different from the old machines. It execute with the data flow.
Pseudo-result: not a actual-result but can be used in the next function as a semi-result.
Processing element: the basic unit of processing. We often call it PE.
Lazy uation: uation of a computation is delayed until the following computation requires the actual argument values.
A new control mechanism: use a data-driven architecture (one of non von-Neumann computers) to exhibits full potential for parallelism both in hardware and software.
Parallel: Divide a program into different piece and execurate in serval processing element at the same time. To do so, we can accelerate the speech of processing time and use the time and space wisely.
Semi-result: A cons operation include a pseudo-result or a semi-result
Actual-result: result with the real data after execurating.
Packet oriented architecture: data transference between each section in a PE is done by a packet in a pipeline manner as well as between each PE
Pseudo-result lifetime: a time interval from the time when a new pseudo-result is created, to the time when the value of the result becomes actual-result.

Details of it

First section, the organization of the data-driven machine is described.
Function uation scheme –
to achieve eager uation with pseudo-result, allows some degree of overlapping of computation.
Machine Organization –
multiprocessing system with a number of identical PEs in wich each PE is connected via a packet communication network. 继续阅读

最近进展情况及会议记录

第一周:主要是介绍了毕业设计的大体概况,一种新的计算机体系结构DATA DRIVEN MACHINE,然后山口老师还亲自给我上了半节课,大概花了一个小时,然后给了我4篇相关论文。
第二周:看了相关论文之后,开始写论文总结,然后理解了这种机器的构造,基本上还算正确,和老师继续讨论之后,确定了后续的工作任务。
第三周:学习了LISP的相关知识和SCHEME编程,山口老师又给了一些论文和网站介绍。
第四周:开始熟悉CELL SDK,然后进行初步X86模拟,和编程语言的选择。
第五周:利用PS3进行真实的CELL SDK环境配置,结合模拟环境编程和相互调试。

明天是第六次和山口老师的会议了,应该又有新的进展了。

总体上来讲,这将近一个月,还是做了很多事情,首先看了很多论文,复习了LINUX的配置,配置编程环境,和老师和实验室的同学们也增加了很多联系。

写得很简单,主要是为了方便以后写毕业设计日记,就这么多了。
还有很多论文要看,然后设计,编程,评测,论文。

IBM Cell SDK 装机总结

首先感慨一下这个新技术编程环境啊,是一个进入一个技术的大头,能配好环境,确实是一件不容易的事情啊。前前后后装了2-3天,才算差不多搞定了这个并行的编程环境。
具体这个东西是个啥,就不罗嗦了,google一下IBM CELL SDK就行了,下面就是总结一下配置的经验:
1.新电脑不一定都是好的,在台式机上先后尝试了CENT OS 5, FEDORA 9, FEDORA 12,都木有成功,首先是系统本身就有问题,一会检测不到声卡,1会检测不到网卡。这些问题解决完之后呢,开始装CELL SDK,又有各种依赖性的问题,各种包找不到,然后为了这个包,又去下另外一个包,然后又需要第N+1个包,折腾人啊。
2.网上的教程估计都是理想状态产生的吧?没有任何BUG?没有任何阻拦,全部都一气呵成,有点佩服。。。反正我是没有一次完全成功地按照教程弄好了的,都是查了无数的GUILD PDF和论坛才基本上弄明白的。
3.原来PS3也是可以用来编程的啊,在上面按照教程(这个教程是官方的PDF文档,还不错),装好了yellow dog linux,然后跑起来还算顺畅,可能是老PS3的缘故吧,速度不是很快,但是还是可以接受,特别是在命令行下面的时候。
4.版本统一是个很严重的问题,网上各种教程,各种版本,各种测试代码,搞得眼花缭乱,可能你按版本A装的东西,代码B就跑不起来,你还以为有问题。然后就是机器不同,装了的东西也不一样,笔记本是X86 32位的,台式是64位的,PS3算是PPC吧,真是稀奇古怪什么都有。
5.Linux还是一个必须要学的东西,特别是这几天配置环境,学会了用yum,很强大的命令,还有各种常用命令,哎。
先写这么多,有空再写