分享

多核相关的开源项目介绍:

 serenayang001 2011-01-04
多核相关的开源项目介绍:
1、Intel 开源项目TBB库,链接:http://www./
这是一个专门针对多核的开源项目,包含一些常见的多核数据结构与算法,如分段锁的哈希表、分布式内存管理、动态任务调度器等,其中最重要的一个是动态任务调度器,可以使用动态任务调度器将串行算法自动变成并行算法,免去程序员学习并行算法之苦。
TBB开源项目的使用方法详见O’Reilly出版的James Reinders的《Intel Threading Building Blocks》一书,如果要了解它的实现原理和方法,可以参考我写的《多核计算与程序设计》一书。
2、Capi开源项目,链接:http://gforge./projects/capi 
这个项目是我开发的一个针对多核的数据结构与算法库,提供了许多实用的适应多核系统的数据结构与算法,主要的功能有以下一些:
1)各种并行算法,如并行归并排序、并行基数排序等并行排序算法;并行顺序搜索及终止检测算法、并行Dijikstra最短路径算法等并行搜索算法;并行前缀和、并行矩阵乘法等并行数值算法;等等。
2)分布式查找算法,如分段锁的哈希表、动态分布式哈希数组、动态哈希AVL树等。
3)抢夺式内存管理算法,即使在分配和释放共享内存时,也几乎不需要使用锁。
4)基于偷取和自私的分布式队列,用分布式队列实现的两种动态任务调度器、以及用动态嵌套任务调度器实现的Parallel_For()功能,用Parallel_For()实现的并行快速排序算法、并行归并算法等。
5)任务图调度器,可以用来实现对有依赖关系的执行块的并行计算。
这个开源项目和TBB相比起来各有特色,TBB库的优势在于它是商业化的开源项目,代码经过优化和相对完善的测试。CAPI的代码专门为学习而设计,代码没有经过优化,代码简单易懂,易于学习,并且实现了比TBB库更多的数据结构与算法容器,有一些创新的数据结构与算法在里面。其缺点是,现在发布的版本为0.2版本,如果进行商业使用需要自行增加测试用例进行更完善的测试和优化。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/drzhouweiming/archive/2009/03/24/4019792.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多