`
qiezi
  • 浏览: 498567 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Cilk++,XL

    博客分类:
  • c++
阅读更多
刚看到CSDN新闻:Intel获得Cilk++技术 多核处理器开发将变得更容易,对它本身并不感兴趣,倒是类似在C++代码中插入自己的关键字来生成代码的方式比较喜欢,不过这种方式实现成本太高了,特别是C++中。以前还有一个AspectC++,曾经也迷了一阵子,后来觉得这种旁门左道很难发展。

Cilk++的描述来看,它是通过扩展编译器来实现,具体如何做的还不知道(正在下载,有空测试一下),这和OpenMP比较相近。这种方式缺点是太封闭,必须有大厂商来实现才好用,我更喜欢一些能够自己定制的、插件式的实现。在C++项目里比较优雅的方式,个人感觉应该是层次分明,底层(运行时、框架等)和逻辑之间关联很小,逻辑可以用另一种语言来描述,逻辑本身是自描述的,这样可以有更多的自动优化空间;逻辑最终是用来生成代码的,可以用它来生成C++代码,和其它代码一块编译,代码生成这部分要可以定制。

牛人或许想到用scheme来做,数据即代码,逻辑即数据,不过我很怕这样的语法,看了几次实在忍受不了,不知道有没有其它类似的东东?iolanguage也可以做类似的,只是定义一个method,就可以处理完整的代码块,不过它的语法还是比较受限。最近几天接触了XL,很感兴趣,它的语法、代码生成部分都是可以定制的,它只有前端没有后端,只能生成其它语言代码(当然也可以把这个看作是后端)。由于文档太少,我研究得很肤浅,把它跑起来也是件难事,只测试通过了TESTS里面的几个代码,主要是看它的代码。

XL的编译器有3个实现,一个最初的C++实现版本,一个bootstrap版本,一个最新的 XL实现的版本。
分享到:
评论
5 楼 oldrev 2009-09-08  
RednaxelaFX 写道
是想要灵活的语法么?之前也宣传过,楼主或许有兴趣看看这个:Katahdin。可变语法,想怎么变就怎么变。想让它看起来像VB还是C都行……


Katahdin 看起来有点意思,不过“the syntax and semantics are mutable at runtime. ”不是太喜欢,.Net 下面还是 Boo 比较靠谱,可惜它的 Python 缩进式语法又限制了一点 DSL 的表现力
4 楼 qiezi 2009-09-03  
RednaxelaFX 写道
是想要灵活的语法么?之前也宣传过,楼主或许有兴趣看看这个:Katahdin。可变语法,想怎么变就怎么变。想让它看起来像VB还是C都行……


看起来还不错,学习一下〜 谢啦
3 楼 qiezi 2009-09-03  
simohayha 写道
现在gcc4.3.2已经可以直接支持openmp了.不过话说像openmp这种在代码里面插入关键字,实在是太丑了..

cilk还能好点,可他好像n久都没更新了.

openmp不太喜欢,确实太丑~
2 楼 RednaxelaFX 2009-09-02  
是想要灵活的语法么?之前也宣传过,楼主或许有兴趣看看这个:Katahdin。可变语法,想怎么变就怎么变。想让它看起来像VB还是C都行……
1 楼 simohayha 2009-09-02  
现在gcc4.3.2已经可以直接支持openmp了.不过话说像openmp这种在代码里面插入关键字,实在是太丑了..

cilk还能好点,可他好像n久都没更新了.

相关推荐

    Cilk++-开源

    Cilk++ 是一种开源的并行编程模型,它扩展了 ANSI C 语言,引入了并行执行的概念,使得程序员能够高效地编写多线程应用程序。Cilk++ 的设计目标是提供一个简单、高效的接口,让开发者能够利用多核处理器的性能潜力,...

    cilk++ 多核并行VC++.net插件

    一个C++的多核并行编码插件,详情可安装阅读帮助文档。

    cilk-5.4.6.tar.gz

    Cilk 技术的核心是 Cilk++ 编译器,它扩展了 C++ 语言,增加了并行执行的能力。Cilk-5.4.6.tar.gz 是一个针对 Linux 操作系统的安装包,其中包含了 Cilk 的最新版本 5.4.6。 在安装 Cilk 5.4.6 时,你需要遵循以下...

    agglomerative-clustering:使用OpenMP,TBB,Cilk +和C ++ 11实施聚集集群基准测试

    Cilk Plus通过`cilk_spawn`和`cilk_sync`关键字支持任务的创建和同步,使得程序员能够方便地将代码并行化。在凝聚聚类的实现中,Cilk Plus可以被用来并发执行聚类合并的操作,以提高算法性能。 **C++11** C++11是...

    cilk运行时源代码,内含文档

    Cilk++扩展了C++的语法,使并行编程更加直观,例如使用`__cilkrts_return`关键字来指定一个任务结束的地方。 总之,Cilk运行时系统是多核编程的一个强大工具,通过其高效的任务调度、工作窃取和内存管理策略,可以...

    Intel Cilk C++简单学习笔记

    Cilk的核心在于它的并发模型,它提供了一组关键字来实现并行化,包括_Cilk_spawn、_Cilk_sync和_Cilk_for。 _Cilk_spawn关键字用于标记一个函数调用,表示该函数可以与调用它的函数并行执行。这样,程序可以同时...

    英特尔® C++编译器Cilk语言扩展.pdf

    ### 英特尔® C++编译器Cilk语言扩展知识点概述 #### 一、引言 本文档主要介绍了英特尔® C++编译器中针对Cilk语言的扩展功能,旨在帮助开发人员更好地利用Cilk语言特性来编写高效且可扩展的并行程序。Cilk是一种...

    cilk plus 源码

    Cilk Plus 是一种并行编程模型,由 Intel 开发,旨在简化多核处理器上的并行程序设计。这个源码库提供了 Cilk Plus 运行时系统(Runtime System)的实现,是深入理解并行计算原理和 Cilk Plus 机制的理想资源。Cilk ...

    cilkplus运行时源代码,内含文档,方便大家研究

    Cilk Plus是一种并行编程模型,它扩展了C和C++语言,旨在简化多核处理器上的并发编程。这个压缩包包含的是Cilk Plus运行时系统的源代码,这是一套用于管理并行执行任务的关键组件。Cilk Plus的核心理念是通过引入`...

    intel cilk多线程编程语言学习

    ### Intel Cilk Plus 多线程编程语言学习 #### 一、引言 在现代高性能计算领域,利用多核处理器的并行计算能力是提升软件性能的关键技术之一。Intel Cilk Plus 是一种针对多核处理器优化的编程模型,它允许程序员...

    图的并行广度优先遍历

    本文所提到的并行广度优先搜索算法研究,实现了基于Cilk++运行时系统的优化方法,使用“bag”的数据结构替代共享队列,提高了并行代码的编写效率。作者杨爱民在导师霍红卫教授的指导下,利用了层同步理论和Cilk++...

    cilk参考手册

    ### Cilk并行编程语言参考手册 #### 一、引言 Cilk是一种专为并行计算设计的编程语言,最初由麻省理工学院(MIT)的超级计算技术小组开发。该语言通过引入简单的语法扩展来支持并行计算,使得程序员能够更容易地...

    intel-cilk-runtime.7z

    【标题】:“Intel Cilk 运行时库” Intel Cilk 是一个强大的并行编程工具,主要用于提升C语言(以及C++)的性能。它的核心是Cilk运行时系统,这个运行时库允许开发者利用多核处理器的潜力,通过简单的语法实现任务...

    MTAPIv1_Final.pdf

    包括POSIX线程(POSIXThreads)、互斥锁(Mutexes)和信号量(Semaphores)、C11、OpenMP、Intel® Threading Building Blocks、Parallel Patterns Library、Grand Central Dispatch、Cilk/Cilk++/Intel® ...

    并行广度优先搜索算法研究.pdf

    针对这一问题,一种优化方法是在Cilk++运行时系统上实现,采用“bag”数据结构替代共享队列。"bag"是一种更适用于并行化的数据结构,它可以允许多个线程同时插入和删除元素,减少了同步开销,提高了并行效率。这种...

    cilk-goodies:用于Cilk编程的杂项

    Cilk是一种并行编程语言,由麻省理工学院开发,旨在简化多线程程序的编写。Cilk的核心理念是通过“spawn”和“sync”这两个关键词来管理并行任务的执行。"cilk-goodies"这个项目则为Cilk程序员提供了一些额外的工具...

    分布式与并行计算报告.pdf

    - Cilk++:一种并发编程语言,简化并行代码编写。 5. 并行计算在云计算和大数据中的应用 云计算提供了弹性扩展的计算资源,使得并行计算可以轻松处理大规模数据处理任务。大数据分析往往需要高效的并行计算框架,如...

    Cilk for MAC-开源

    Cilk是一种多核编程语言,它具有编写可以在多核上并行运行的代码的能力,从而可以更快地计算出结果。 我们的项目涉及将该应用程序移植到MAC上并用Fink打包

    基于分治法求解对称三对角矩阵特征_省略_题的MPI_Cilk混合并行算法_朱京乔.pdf

    Cilk的引入不仅提升了单个计算节点内部的并行处理能力,而且由于Cilk的有向无环图(DAG)模型在处理任务时能够有效管理数据依赖,使得并行计算得以更加流畅地进行。同时,MPI负责管理大规模的计算节点之间的协调与通信...

    并行编程语言:Cilk.zip

    史上最全编程语言全套教程,共99门编程语言,包括: 函数式编程语言 壳编程语言 常见编程语言 并行编程语言 数据分析编程语言 数据库查询语言 系统编程语言 脚本编程语言 逻辑编程语言 面向对象编程语言 ...

Global site tag (gtag.js) - Google Analytics