|
编程中国
|
业界新闻
|
技术文章
|
视频教程
|
下载频道
|
程序源码
|
个人空间
|
编程论坛
|
登录
注册
平板模式
论坛地图
帮助
编程论坛
→
开发语言
→
C语言论坛
→ 请教下C和Fortran混编时的MPI并行编程问题!
我的收件箱(0)
全能ASP/PHP/ASP.NET主机,支持月付
专业
MSSQL
数据库空间,支持月付
专业
MySQL
数据库空间,支持月付
买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦
赛孚耐:软件保护加密专家
身份认证令牌USB KEY
买空间,免费送域名(厦门中资源)
11
1/2页
1
2
共有
329
人关注过本帖
标题:请教下C和Fortran混编时的MPI并行编程问题!
waiting……
收藏
订阅
推荐
打印
timwan
等级:新手上路
帖子:7
积分:182
注册:2008-9-16
楼主
请教下C和Fortran混编时的MPI并行编程问题!
现在要用fortran调用C程序,两者里面均要用到MPI并行程序的语句,但是MPI针对这2种语言的格式是不一样的,怎样让2者都识别同一个MPI程序呢?谢谢!
搜索更多相关主题的帖子:
MPI
Fortran
混编
2008-9-16 10:09
forever74
等级:高级会员
威望:
3
帖子:515
积分:5984
注册:2007-12-27
第
2
楼
请把问题描述清楚
从你现有的描述中看一切正常,没啥毛病
2008-9-16 14:17
timwan
等级:新手上路
帖子:7
积分:182
注册:2008-9-16
第
3
楼
问题是这样的:我在fortran程序开始处进行MPI初始化的,在fortran程序段MPI收发语句都正常执行,但是一进到C语言程序段,MPI语句就不能执行了。我发现C语言程序段不能识别从fortran传过来的MPI参数(例如:进程号等),都当成普通变量了,所以没办法进行MPI的收发。
2008-9-16 20:16
forever74
等级:高级会员
威望:
3
帖子:515
积分:5984
注册:2007-12-27
第
4
楼
还是不具体
不过常规情况下fortran和C的混合第一需要考虑的问题是
fortran调用函数和例程的时候往往是传址的,而C是传值的
-->在C那边用指针接收参数试试
常规第二问题是fortran数组是按列存放的,而C是按行存放
所以如果是方阵,传过去后是转置过的,不方的数组是乱套的
这两个问题最常见,但是不一定就是你的问题,我猜
2008-9-16 22:17
forever74
等级:高级会员
威望:
3
帖子:515
积分:5984
注册:2007-12-27
第
5
楼
哦,想起来还有fortran里面的字符串没有结束符
2008-9-16 22:24
timwan
等级:新手上路
帖子:7
积分:182
注册:2008-9-16
第
6
楼
谢谢您!
传值和传址两种方式我都试了,都能把变量的值在FORTRAN和C之间正确地传递。
关键是在MPI部分,MPI的参数已经不是普通的变量了,不知道怎样从fortran传到C中。
2008-9-17 10:55
forever74
等级:高级会员
威望:
3
帖子:515
积分:5984
注册:2007-12-27
第
7
楼
您就整天叨咕“疼”,连头疼还是胃疼都不能说清楚,我想没有医生能有效治疗了
2008-9-17 18:55
timwan
等级:新手上路
帖子:7
积分:182
注册:2008-9-16
第
8
楼
已经说得很清楚了啊。就是MPI参数不能从fortran带入C啊,因为它不象普通参数那样写个接口就能传递了啊。问题可能主要还是出在并行这块。
2008-9-17 21:01
forever74
等级:高级会员
威望:
3
帖子:515
积分:5984
注册:2007-12-27
第
9
楼
哦,原来您已经找到问题所在了,那是俺瞎操心了
2008-9-17 22:18
timwan
等级:新手上路
帖子:7
积分:182
注册:2008-9-16
第
10
楼
找到了问题所在并不代表解决了问题,所以如果您能够提供帮助,那么谢谢了
2008-9-18 08:50
11
1/2页
1
2
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
Archiver
|
WAP
|
TOP
编程中国
版权所有,并保留所有权利。鲁ICP备08000592号
Powered by
Discuz
, Processed in 0.055858 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved