lynn 的个人资料形单影只照片日志列表 工具 帮助

日志


好像支持递归了

zz from http://www.intel.com/cd/ids/developer/apac/zho/57769.htm?page=5

本文介绍了一个对OpenMP的扩展,实现在Intel C/C++ Compiler上。它可以对一些遍历或递推的循环结构方便的做并行。一个简单的例子如下:

void test1(LIST p)

{

            #pragma intel omp parallel taskq shared(p)

            {

                        while(p != NULL)

                        {

                                    #pragma intel omp task captureprivate(p)

                                    {

                                                do_work1(p);

                                    }

                                    p=p->next;

                        }

            }

}

新引入的两个关键词是taskqtask,一个thread负责控制循环和workqueue,其它的threadsworkqueue取任务来执行。

看来OpenMP适用的范围也会越来越广泛,许多并行模型会被加入进来。

Word2PDF好东西

Word to PDF折腾了偶一个晚上,据说有个什么virtual printer可以搞定,实践了下,发现生成的PDF不能用Adobe Reader 8打开
翻了几个软件,发现还是pdf2all比较强,支持多种格式双向转换,还不加7788的东西
汉化版的地址http://210.34.212.108/softdown/SoftView.Asp?SoftID=12343
PS.使用前还需要装下GhostScript 和 PostScript,具体在http://www.pdf2all.com的download里可以找到
 

好玩的

ここのか、むぃか...数字实在读不清楚,决定不理啦
于是挖掘好玩的,用遗传进化折腾图象,哈哈

多核,多任务,并行,分布式

一直搞不明白多核,多任务,并行,分布式这些到底是什么关系,嘿嘿,逮着了通俗版本......外加一个笨问题:相同频率的双核CPU和双CPU哪个快一些呢
------------------------------------------------------------------------------------------------------------
多核,就是一块CPU的体积中嵌入了多块CPU内核,这个我想看看实物理解起来不难。
多任务,每个线程或进程都可以算作是一个任务,比如同时进行杀毒和看电影,单核处理器同时执行这两个任务会很吃力,双核处理器将这两个任务分担到两个内核中执行,一个内核执行杀毒操作,另一个内核进行看电影过程中的解码运算,杀毒与电影播放都很流畅。
并行计算,就是将一个非常繁重的任务(比如天气预报所需要的庞大计算)分配给多个处理器共同完成(并行),每个处理器执行这个复杂任务中的一个小部分。
分布式:并行计算分两种,一个是集中式,一个是分布式。
集中式,简单说就是多个处理器共享一个主内存,每个CPU所需要的数据都从主内存中调取,这样软件开发相对简单。但是受内存总线带宽的影响,不能无限的增加CPU的数量。
分布式,简单说就是多个处理器各自有自己的本地内存,原来主内存中的指令和数据被分配到各个处理器的本地内存中去,每个处理器调用自己本地内存中的指令和数据来进行运算。这种分布式的并行计算就不受内存总线带宽的限制了,并且每个处理器访问内存的速度更快。
 
Answer主要的差别在于总线。
双核的CPU仍然只有一个数据总线和IO总线,两个核心仍然是争用总线。
双CPU的系统,每个CPU都有自己的数据总线和IO总线,当访问发生冲突的时候才进行争用仲裁,如果访问的内存不是同一块就不会争用。所以效率要高一些。
但是,双核的可以用较大的片内缓存解决这个问题,两个核心访问片内缓存的时候使用独立访问的方式(在片内采用双CPU系统的方式访问缓存),只有片内缓存失效的时候才去争用外部总线。设计得当,效率应该不会有很大的下降。
 
Interesting
双核CPU          一个两个蛋黄的鸡蛋  又叫做一个双黄蛋
两个CPU          两个一个蛋黄的鸡蛋  又叫做两个单黄蛋
双路又加双核     两个两个蛋黄的鸡蛋  又叫做两个双黄蛋