归途

在一个地方久了,也就习惯了,当你要回家的时候,你就会想,何处是家?

半年的时间,在人的整个生命中来说,也就是那么一瞬的事情。在这个短暂的时间里,我都不敢去回忆太多,因为这样会让一个人变得矫情。曾经我也是一个很多愁善感的人,由一些事情,一些人,让我长大了,变得内心更加强大起来。

不是我对这里没有感情,也不是我没有留恋,而是在另一头不太遥远的地方,有我的家人,也有我的朋友,更重要的是有我的她。

朋友啊,人这一辈子,来来去去,新朋友,老朋友,离开前认识的朋友,一节课的朋友,太多太多的相聚和别离。说:天下没有不散的宴席,又说:离别是为了下次的相聚。

所以,就只轻轻道一声:朋友,珍重,有缘定会再见。

有关用户体验

好久没有发自己的日志了,今天突然想写点东西。事由刚才大宝让我给他用QQ邮箱发东西,然后就产生了一下这篇谈疼文,搞不好还会被认为是枪手文。

从 QQ邮箱的用户体验说起:

我平时没怎么用过QQ邮箱,感觉是一个很鸡肋的功能,特别是里面还经常有各种广告,那拦截效率就不说了。不知道是我自己关了提醒,还是本来就没有,每次收到同学的贺卡或者祝福邮件,也不会提示。囧。

然后刚才就用一下吧,点击了QQ上面那个邮箱的标志,竟然还让我输用户名和密码登陆,就不能智能点直接打开?

好,那我就关了再点一次,又是一样的效果。直到第三次才不知道怎么弄好了,就算是他的BUG吧。进去之后,我点击发信,然后开始在收件人框里面输入大宝的备注名称,因为不知道QQ号和原名,显示结果似乎不能匹配……然后我只好到联系人里面找,然后发现里面的好友分组还是几年前的,囧……

然后向大宝询问,说是要同步好友,就想,在这个天天嚷着要云计算的日子里,竟然还要手动同步联系人……

终于,我把QQ邮箱关了,舒了口气…… 回想着很方便的gmail,哎……

QQ邮箱真的是没法比啊……

Gmail,可以关键字搜索,联系人匹配做得多好,全选邮件两页之后,就会问你是不是需要整个收件箱全选,还有很多快捷的按钮,比如标记已读啊,用一个邮箱收很多邮箱的邮件,等等…… 再写就真以为我是google的托了……

从学计算机的角度来讲,一个软件的用户体验真的是很重要,这也是为什么苹果的东西那么多贵,但是还是会有很多人用吧,虽然国内还没有普及起来。很多时候,并不是每个人都是计算机专业人员,也不是都很熟悉计算机的操作,这个时候,就是看谁的东西最好用,最方便,才能赢得最多的用户了。

写完了再看看,有点猫扑的风格,也有点谈疼,就当无聊吧,刚吃了饭,闲得没事。

继续搞毕设吧……

CUDA学习笔记(四)——CUDA性能

四、CUDA性能

CUDA中的block被划分成一个个的warp,在GeForce8800GTX上,一个warp有32个线程。若不够32个线程,则padding相应数目的线程。Warp中的线程ID是连续且递增的。对于二维组织的线程来说,先把threadIdx.y为0的线程按照threadIdx.x从小到大排,然后把threadIdx.y为1的线程按照threadIdx.x从小到大的顺序排列成warp。对于三维组织的线程来说,先排列 threadIdx.z为0的二维线程,再排列threadIdx.z为1的二维线程,以此类推。

任何时刻,硬件都只能一次选择执行一个warp。

下面2个图是执行元素总和的操作,不同的算法实现,其效率不同。第二种方法使得线程没有分支。

CUDA学习笔记(四)——CUDA性能

CUDA学习笔记(四)——CUDA性能

继续阅读“CUDA学习笔记(四)——CUDA性能”

CUDA学习笔记(一)——CUDA编程模型

转自新浪博客: http://blog.sina.com.cn/s/blog_48b9e1f90100fm56.html

一、CUDA 编程模型

2009-10-21

CUDA的代码分成两部分,一部分在host(CPU)上运行,是普通的C代码;另一部分在device(GPU)上运行,是并行代码,称为kernel,由nvcc进行编译。

Kernel产生的所有线程成为Grid。在并行部分结束后,程序回到串行部分即到host上运行。

在CUDA中,host和device有不同的内存空间。所以在device上执行kernel时,程序员需要把host memory上的数据传送到分配的device memory上。在device执行完以后,需要把结果从device传送回host,并释放device memory。CUDA runtime system提供了API给程序员做这些事情。

继续阅读“CUDA学习笔记(一)——CUDA编程模型”

19th meeting

这次开会主要是演示了一下evaluation的东西,了解到需要进行一些更科学的评测。

比如mu取不同值,sigma趋向于零的时候,也就是说,当所有的任务需要时间都相似的时候,动静态调度的对比。

另外取不同的MU值,SIGMA不同的时候,当irregular,大小变化的时候,加速比的变化。

这几天做完了,基本上就是这样了。

论文正在进行中。中英文并行,需要把自己做的东西写明白一点。

还有两个星期,事情还是挺多的,完成论文的同时,处理好回去前的一些事情。

另外搞一搞GPU,写一个概述出来。交待好需要做的任务~

OVER~  加油!

16th meeting

今天是第十六次开会啦,想想都进行了这么久了。今天主要讲了下面几个事情:

1.给山口老师展示了一些测试数据的结果,大概在n~2情况下,加速比有2-3倍,n~3情况下,能到4.5-5.5倍,所以说还是可以的。

2.现在的程序可以更加灵活地选择继续的方式,1-8块。

继续阅读“16th meeting”

A dynamic synchronization mechanism and its implementation on Cell Broadband Engine.

Title: A dynamic synchronization mechanism and its implementation on Cell Broadband Engine.

题目:一种并行动态调度方法及其在Cell/BE上的实现

Background: Nowadays, multicore on a chip is a common trend for microprocessor architecture. The successful example is a Cell Broadband Engine which is designed as a main engine for the game machine. As for the calculation of computer graphics on the multicore processors, the whole tasks can be divided and allocated statically to each core and the synchronization of each task is done statically, since the execution time are estimated beforehand. The cost performance of the multicore like Cell Broadband Engine is very high; so many researchers are working on how to apply multicore processors to more general application fields. In general, if a big task is divided into many subtasks, the execution time of each subtask cannot be estimated beforehand, so the dynamic task allocation and dynamic synchronization are needed for the efficient execution of parallel tasks. The data-driven principle and scheme is very simple and formal method for this dynamic synchronization mechanism. So, this research aims to find and evaluate the effectiveness of dynamic synchronization mechanism on the Cell Broadband Engine.

背景:现在,单芯片多核处理器已经成为了一种多核结构的趋势。一个成功的案例就是IBM公司的Cell/BE处理器,它是为游戏专用的引擎。因为在多核处理中,计算机图形的计算可以被划分为工作块,并且执行时间可以预知,所以可以静态地分配到不同的计算核中,进行并行计算和同步。因此,人们希望将这种Cell/BE多核处理器的强大的计算功能应用到其他的通用计算领域。但是一般情况下,如果一个任务被分成不同的子任务块,他们各自执行的时间和结果是不能够被预知的,所以需要一种动态的任务调度和同步方案,来解决这个问题。我们的研究目标是为Cell/BE找到一种有效的动态调度和同步方案,并且对他进行评价。

继续阅读“A dynamic synchronization mechanism and its implementation on Cell Broadband Engine.”