24小时热门版块排行榜    

查看: 2362  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cntsinghua

银虫 (初入文坛)

[求助] 求助:并行计算的首选语言是C,C++还是Fortran?

老板要我搞并行计算。与别人交流时,有人说:搞并行计算的人中选C的比较多,而部分人说,要提高效率还得用Fortran.因此,疑惑中.......
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
cntsinghua: 金币+5, 有帮助, 如果能再具体点,就更好了。 2013-08-10 08:15:13
首先说,我不认为C++和fortran 在performance上有很大的区别。传统上,做大型科学数值计算使用Fortran多些,而平行计算大多应用在大型科学数值计算里,所以造成Fortran以专业数值计算的面貌出现。当然,fortran在这方面的资源也多些,由于历史积累。记得早在1991年左右,在Princeton的一个研究生专门做了C++的particle code,和fortran比, performance 基本相当。多线程、OpenMP好像 Fortran和C++也都可以用。所以,主要是看你周围什么资源容易获得,和你个人爱好选择。选择C++好处是以后好找工作把,毕竟应用要广一些。很多人说C++ 是object-oriented,高级,发展方向。可我倒是觉得大多数科学计算追求效率,而object-oriented 的计算效率可是不高。因为把数据和算法分开、采用简单结构,是高效计算的一个保证。也许这是很多人得出fortran高效的一个原因。C++当然也可以这样做,但是就丧失object-oriented的特点了。
7楼2013-07-30 09:10:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

ltscu

铜虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
C++
新gcc已经集成多内核并行编译功能。
2楼2013-07-29 11:03:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinghuoly

木虫 (正式写手)

引用回帖:
2楼: Originally posted by ltscu at 2013-07-29 11:03:20
C++
新gcc已经集成多内核并行编译功能。

多内核并行编译是指编译过程中可以利用多个核心。跟并行计算没有一点关系
天地为帐,日月为灯,风雷为号角,云虹为旗令,山川为阵图,草木为兵卒。运阴阳五行为谋,策古今兴替为略。
3楼2013-07-29 13:17:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

绿遍山原

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
并行效率与算法有关,和底层库没什么太大关系。看你熟悉哪一个就学那个。程序方面主要知道任务分发和同步机制就可以了。
要夢遊,不要催眠。
4楼2013-07-29 13:22:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见