`
qiezi
  • 浏览: 491406 次
  • 性别: 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久都没更新了.

相关推荐

Global site tag (gtag.js) - Google Analytics