搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请教下C和Fortran混编时的MPI并行编程问题!
标题:
请教下C和Fortran混编时的MPI并行编程问题!
只看楼主
timwan
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-9-16
结帖率:
0
楼主
问题点数:0 回复次数:10
请教下C和Fortran混编时的MPI并行编程问题!
现在要用fortran调用C程序,两者里面均要用到MPI并行程序的语句,但是MPI针对这2种语言的格式是不一样的,怎样让2者都识别同一个MPI程序呢?谢谢!
搜索更多相关主题的帖子:
MPI
Fortran
混编
2008-09-16 10:09
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
2
楼
得分:0
请把问题描述清楚
从你现有的描述中看一切正常,没啥毛病
2008-09-16 14:17
timwan
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-9-16
第
3
楼
得分:0
问题是这样的:我在fortran程序开始处进行MPI初始化的,在fortran程序段MPI收发语句都正常执行,但是一进到C语言程序段,MPI语句就不能执行了。我发现C语言程序段不能识别从fortran传过来的MPI参数(例如:进程号等),都当成普通变量了,所以没办法进行MPI的收发。
2008-09-16 20:16
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
4
楼
得分:0
还是不具体
不过常规情况下fortran和C的混合第一需要考虑的问题是
fortran调用函数和例程的时候往往是传址的,而C是传值的
-->在C那边用指针接收参数试试
常规第二问题是fortran数组是按列存放的,而C是按行存放
所以如果是方阵,传过去后是转置过的,不方的数组是乱套的
这两个问题最常见,但是不一定就是你的问题,我猜
2008-09-16 22:17
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
5
楼
得分:0
哦,想起来还有fortran里面的字符串没有结束符
2008-09-16 22:24
timwan
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-9-16
第
6
楼
得分:0
谢谢您!
传值和传址两种方式我都试了,都能把变量的值在FORTRAN和C之间正确地传递。
关键是在MPI部分,MPI的参数已经不是普通的变量了,不知道怎样从fortran传到C中。
2008-09-17 10:55
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
7
楼
得分:0
您就整天叨咕“疼”,连头疼还是胃疼都不能说清楚,我想没有医生能有效治疗了
2008-09-17 18:55
timwan
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-9-16
第
8
楼
得分:0
已经说得很清楚了啊。就是MPI参数不能从fortran带入C啊,因为它不象普通参数那样写个接口就能传递了啊。问题可能主要还是出在并行这块。
2008-09-17 21:01
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
9
楼
得分:0
哦,原来您已经找到问题所在了,那是俺瞎操心了
2008-09-17 22:18
timwan
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-9-16
第
10
楼
得分:0
找到了问题所在并不代表解决了问题,所以如果您能够提供帮助,那么谢谢了
2008-09-18 08:50
11
1/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-233365-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.226011 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved