• 论文导航
  • 论文专题
  • 论文源代码
  • 设计资源
  • 原创论文
  • 交流互动
  • 作业答案
  • 工具
  • 会员
  • 设计专题

首页|原创论文|原创论文|论文全套|点数论文|实用文档|课程设计|定作论文|毕业论文|考试资料|知识在线|密码保护|大学生|论文帮助|保健养生|健康家园|期刊导航|创业资料|毕业论文|站长学院|学习娱乐|演示文稿|免费论文|源代码|博士论文|研究论文|参考论文|下载分类|写作指导|应用文|英语论文|文化|哲学|艺术类|计算机|工学|教育类|文学|社会学|政治|医药学|理学|法学|公共管理|财务管理|工商管理|会计审计|管理学|证券金融|财政税收|经济学|论文范文|网络学院|早教|就业指导|求职英语|简历|公务员|动漫频道|作文大全|土木工程|法学|计算机|护理学|会计学|交通运输|工商管理|汉语言|原创|计算机论文全套|计算机点数论文|点数参考论文|ASP设计|ASP.NET设计|VB设计|JSP设计|C#设计|PHP设计|JAVA设计|VF设计|DELPHI设计|PB设计|VC++设计|计算机网络|机械论文|单片机论文|电子论文|asp源码| asp精品| php精品源码| vb精品| vfp精品源码| Java精品|Asp.net精品源码|Jsp精品|定作论文

BS| CS | vb| VC | 设计| 系统 | 毕业| JSp | web| net | PLC| FLASH | sql| PHP | CAD| 源码 | pb| delphi | 方案| ppt | J2ee| HTML | android| access | vfp| 模具 | j2me| service | photo| CPA | TCP| J2ME | ASP| java | ATL| 案例 | 单片机| Ajax | powerbuilder| frontpage | div| 报告 | 毕业设计| 电工 | 课程| 嵌入式 | 通讯| 软件测试 | Unix编程| 3D图形编程 | 人工智能| 图形 | Internet/IE编程| 界面编程 | SQL Server| 代理服务器 | 系统编程| 单片机开发 | 人工智能| 文件操作 | RichEdit| 屏幕保护 | 网格计算| uCOS | JspServlet| 驱动编程 | Shell编程| MTK | Java编程| 酒店行业 | 其他小程序| 外挂编程 | VC书籍| .net编程 | 教育系统应用| 中间件编程

下载目录|论文及源代码|asp源码|asp精品源码|php精品源码|vb精品源码|vfp精品源码|Java精品源码|vc++精品源码|ACCESS精品源码|Authorware精品源码|Asp.net精品源码|Jsp精品源码|DIV+CSS模板|FLASH精品源码|PB精品源码|Android源码 |asp代码|ajax代码|php代码|html代码|java代码|jsp代码|pb代码|Ruby代码|sql代码|vfp代码|数据结构与算法|汇编语言|Perl代码|delphi代码|flash代码|js代码|net代码|vb代码|vc代码|DVD光盘源代码|ipad源代码|后台模板|CSS菜单|CSS图表|图片图标|精美Word模板|精美EXCEL模板|精美PPT模板|系统操作视频和下载|ASP在线学习|PHP在线学习|JSP在线学习|JAVA在线学习|NET在线学习|VC在线学习|VB在线学习|VFP在线学习|SQL在线学习|PB在线学习|PHOTOSHOP在线学习|Delphi在线学习|计算机点数论文|点数参考论文|ASP设计|ASP.NET设计 |VB设计|JSP设计|C#设计|PHP设计|JAVA设计|VF设计|DELPHI设计|PB设计|VC++设计|计算机网络|机械论文|单片机论文|电子论文

C++|VB|ASP|VF|DELPHI|JSP|电气|计算机|经济|打包下载|查询工具|设计定作|设计专题|ASP,网站,C/S,设计等定作

网站首页|原创系统|工商管理|护理学|会计学|行政管理|计算机|土木工程|汉语言|机械设计|交通运输|法学|卫生法学

内涵段子| 冷笑话| 幽默笑话| 短信笑话| 其它笑话| 大杂烩| 青芜校园| 社会广角| 动漫风云| 征婚交友| 股票基金| 私房话|社会趣闻| 手机地带| 其它笑话 动漫风云| 冷笑话

作业答案| 小学作业| 高中作业| 中专作业| 初中作业| 大专作业| 大学作业| 研究生作业|原创论文|论文下载|下载源代码|精器资源|会员中心| 查询资料| 暑假作业| 家庭作业

IP地址查询 搜索IP地址所在的地理位置 | 英文词典、在线翻译 在线新华字典/生字查找 | 网速测试 测试网络连接速率 | 文件扩展名文件后缀名查询 | 下载地址转换 迅雷/快车下载地址转换 | 在线生成Favicon图标 | 繁体与简体自由转换工具 | 论坛常用发帖代码 | 在线制作个性邮箱图标 || 汉字拼音及五笔编码查询 | 汉字拼音查询 | 查询域名或同IP下所有站点 | Google PageRank查询 | 查看域名WHOIS信息 | ALEXA世界排名查询服务 | HTML转换JS代码 | 将代码以BASE64方式加密/解密 | JS在线加密/解密 | 字符转UTF-8编码 | 链接地址16进制加密 | 字符串32位MD5加密 | 将代码以Escape加密/解密 | 字符串转换为ASCII码器 | 代码美化、压缩、混淆加密 | ASCII字形生成器 | 页面转换效果生成器 | 正则表达式检测器

会员中心|会员登录|我要充值加点|我要充值论文

全套论文|设计下载|源码|原创论文|下载目录|论文总站|论文搜索|最新论文| 万能工具|定作论文|定作设计|毕业设计 |Word格式|管理系统 课程设计|论文专题 |保存到桌面 |演示|系统 | 设计 | 毕业 | 通信 | 模具 | 单片机 | 方案 | 答辩PPT|J2EE

您现在的位置:网学>>免费论文>>论文导航>>Windows编程>>VC++开源代码
  • Windows环境下基于Eclipse的MPI编程环境配置

    栏目导航 Windows编程 2013-10-21 2013-10-21  版权 版权投诉 上传资料 上传资料 复制论文网址 复制论文网址 上传用户:qq562579114

    【VC++开源代码栏目提醒】:本文主要为网学会员提供“Windows环境下基于Eclipse的MPI编程环境配置 - 其它论文”,希望对需要Windows环境下基于Eclipse的MPI编程环境配置 - 其它论文网友有所帮助,学习一下!

    Windows环境下基于Eclipse的MPI编程环境配置摘要:对当前并行程序开发工具存在的问题进行了分析。

        结合并行开发环境的迫切需求,给出了一种windows 环境下,以开源项目 Eclipse 作为开发平台,以 MinGW 作为 GUN 的 C/C编译器的 MPI 并行程序开发平台的搭建方法。

        并给出了该环境下的开发实例和测试。

        关键词:Eclipse;并行开发环境;MinGW;MPI Configuration of Develop Platform in Windows based on EclipseAbstract: Problems of parallel develop platform are firstly analyzed. With the urgent requirement of paralleldevelop platform the configuration of MPI parallel develop platform based on open resource project Eclipse inwindows is given and the platform has a C/C complier based on MinGW. At last a develop example and test inthis platform are also presented.Key words: Eclipse Parallel Develop platform MinGW MPI1 引言 当前适用于各种平台、环境的并行算法得到了蓬勃的发展,针对并行计算硬件体系结构及并行应用自身特点出现了大量功能和操作风格迥异的并行开发工具环境,从基于命令行和文字编辑器的简单原始开发 。

        这些工具良莠不齐,并且有着各自不同的适用场合,使工具到以可视化为基础的集成化开发环境(IDE)并行程序员必须随着需要解决的问题和最终运行环境的变化而不得不使用各种不同的开发工具,由此造成高性能应用软件开发高投入低产出的尴尬局面。

        开源项目被认为是解决并行开发工具多样性的有效途径之一。

        尤其是开源的框架式平台 Eclipse 的出现和成熟,它所具备的开源特性和跨平台特点具有集成并行软件开发工具的天然优势。

         本文给出了 windows 环境下,使用开源开发工具 Eclipse,以 MinGW 作为 CC编译器,以 gdb 作为调试器,结合 MPICH 的一个并行程序开发环境的配置思想和方法,该思想可以移植到 Linux 等其它平台上。

        采用此开发平台可以方便的在 windows 下开发调试 MPI 程序,而方便的移植到 Linux 上运行。

        2 相关工具及其准备2.1 Eclipse 框架 2001 年 11 月,IBM 向开源社区捐献了 Eclipse 代码,自此 Eclipse 在开发者社区得到飞速发展。

        Eclipse是一种基于 Java 的可扩展开源开发平台。

        就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

        Eclipse 附带了一个标准的 Java 开发工具(Java Development Tools,JDT) 但 插件集。

         Eclipse的目标却不仅限于此。

        由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

        这种平等和一致性并不仅限于Java 开发工具。

        尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C和 COBOL 等编程语言的插件已经可用。

        Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

         ,这些插件可支持多种项目,比如JDT和PDE1。

         Eclipse平台具有一组功能强大的插件(如图 1) IDE 文本 比较 调试 查找 团队/CVS 帮助 更新 文本编辑 IDE 个性化 一般性工作台 资源 JFace 运行时库 SWT OSGi 图1 Eclipse 平台体系结构简化图 图中深灰色的部分代表的是 Eclipse 的富客户机平台Rich Client Platform,RCP的核心组件。

        可以将RCP 简单地视为 Eclipse 的一组插件,人们可用这些插件来开发应用程序。

        图中白色所标示的部分代表的是可包含到基于 RCP 的应用程序中的可选(但建议包含)部件。

        而淡灰色部分所示的部件则完全可选。

        Eclipse平台为工具提供者提供一种机制,使得各种工具能够无缝集成。

        这些机制通过 PAI 接口、类和方法来体现。

        Eclipse 平台负责处理基本环境的后台工作,并提供标准的用户导航模型。

        2.2 CDT 插件 C 和 C语言都是世界上最流行且使用最普遍的编程语言之一,也是 MPI 的宿主语言之一。

        要使用 C或者 C进行 MPI 并行程序设计,首先要求 Eclipse 平台提供对 C/C开发的支持。

        因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C;它使用外部插件来提供支持。

         CDT 项目致力于为 Eclipse 平台提供功能完全的 C/C集成开发环境。

        虽然该项目的重点是 Linux,但 、QNX Neutrino 和它在可使用 GNU 开发者工具的所有环境(包括 Win32(Win 95/98/Me/NT/2000 /XP)Solaris 平台)中都能工作。

        CDT 是完全用 Java 实现的开放源码项目,它作为 Eclipse SDK 平台的一组插件。

        这些插件将 C/C透视图添加到 Eclipse 工作台(Workbench)中,使得 Eclipse 可以用许多视图和向导以及高级编辑和调试支持来支持 C/C开发。

        2.3 MinGW MinGW,即 Minimalist GNU For Windows。

        它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。

         在基本层,MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准 C 运行时库(MSVCRT.DLL)该库在所有的 Windows NT 操作系统上有效,在所有的 Windows 95 发行版以上的操作系统有效,使用基本运行时,可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时扩展。

        该功能是 Windows32 API 不具备的。

        下一个组成部分是 w32 api 包,它是一组可以使用 Windows32 API 的包含文件和端口库。

        与基本运行时相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 Windows32 API 功能。

         MinGW 为那些不喜欢工作在 LinuxFreeBSD操作系统而留在 Windows 的人提供一套符合 GNU 的工作环境。

        2.4 MPI 近年来,消息传递接口 MPI(Messaging Passing Interface)以其强大的功能、完备的消息传递 API 和跨平台的移植特性,综合了各种消息传递通信库行之有效的标准,已经成为基于消息传递(MP)机制的并行编程领域事实上的标准。

         MPI的实现包括MPICH、LAM、IBM MPL等多个版本,最常用和稳定的是MPICH2。

        MPICH含三层结构,最 上层是MPI的 API,基 本是点 到点通 信, 和在点 到 点通信 基础上 构造 的集群 通 信(Collective ;中间层是ADI层(Abstract Device Interface)Communication) ,其中Device可以简单地理解为某一种底层通信库,ADI就是对各种不同的底层通信库的不同接口的统一标准;底层是具体的底层通信库,例如工作站机群上的p4 通信库等。

         MPI 主要特点是通信原语处于较低的抽象级别,可以对并行编程的实施细节进行显式控制以达到最佳的性能要求。

        从另一角度看为维护性能和功能的完整性,MPI 函数繁多到版本 2.0 己多达 200 多个函数,给程序员编程带来很大困难,甚至开发人员都难以维护其标准,致使程序开发过程过度复杂化。

        那么也就亟待有一个方便有效的 MPI 程序开发、调试与运行环境。

        3 windows 环境下基于 Eclipse 的 MPI 编程环境配置3.1 软件及插件收集 本文使用的各种工具与插件版本如下其它版本也可以,但是要注意查看兼容性,下载 eclipse 和插件的时候可以先查看 readme.txt 文件上的说明: 1. JDK:jdk-1_5_0_07 稳定版,1.5 以上版本应该也可以,但是注意一定要使用稳定版,如果是 版,在使用 CDT 插件的时候可能会出现问题。

         2. Eclipse:eclipse-SDK-3.2.1-win32。

         3. CDT:org.eclipse.cdt.sdk-3.1.2-win32.x86。

         4. MPICH:mpich2-1.0.5p2-win32-ia32 5. MinGW:MinGW-5.1.3 6. gdb:gdb-5.2.1-1 7. Astyle:astyle_1.203.2 详细配置 但真正在并行程序的测试和运行时主要还是在 Linux 环境下, 虽然 MPICH 同时有 Linux 和 windows 版,而对于高性能计算的科研和应用人员来说,还是比较习惯在 windows 环境下做并行程序的开发和调试。

        本文给出在 windows 环境下使用目前主流的开源项目 Eclipse 作为开发工具,使用 MinGW 模拟 Linux 环境的C/C编译器的 MPICH 并行程序编程环境的一种配置方案。

        该环境下可以方便的在 windows 下开发调试MPI 程序,调试正确以后可以直接移植到 Linux 环境运行,项目、程序都不需要做任何修改。

        配置步骤如下:1. 下载安装 JDK。

        假设安装目录为:D:jdk。

        2. 安装 Eclipse。

        Eclipse 直接解压缩即可使用,假设解压目录为:D:eclipse。

        3. 安装 MPICH。

        假设安装目录为:D:mpich。

        4. 安装 CDT。

         采用连接文件法安装 CDT 插件: 将 org.eclipse.cdt.sdk-3.1.2-win32.x86 解压,假设放至 D:eclipsemyplugins 目录下。

        目录自建 在 Eclipse 主目录即 d:eclipse 下建立一个新目录 links,在 links 目录下建立一个文件 cdt.link。

         cdt.link 内容为:pathD:eclipsemypluginscdt.sdk-3. 1.2-win32.x86 即 CDT 插件的解压目录。

         新建 Eclipse 启动的快捷方式,并加上启动参数–clean。

        clean 启动参数要求 Eclipse 刷新所有插件。

         其它 Eclipse 插件安装也可仿照该法,可以方便安装和卸载。

        5. 安装 MinGW 和 gdb。

         为了方便 MPI 程序移植至 Linux 平台,采用 MinGW 作为编译器,MinGW-5.0.2.exe 很小,启动这个程序会到网络上下载你要安装的程序,这里只需要在安装的过程中选择 g和 make 文件下载安装就可以了, 需要单独下载,但是调试用的 gdb 不在里面, 假设 MinGW 的安装路径是 D:MinGW, 也就是 gdb-5.2.1-1.exe。

        再将 gdb 安装到 MinGW 安装的路径中。

        然后,将 MinGW 目录下的 bin 目录里的 mingw32-make.exe 改名为 make.exe。

        修改 windows 环境变量 PATHD:MinGWbin PATH。

         最后,启动 eclipse,在窗口-首选项下展开 C/C-make- new make project 页面: 将 Make Builder 选项卡下的 Build command 改为 make。

         图 2 添加环境路径 添加 MinGW 相关环境路径。

        如图 2 所示。

         修改二进制解析器为 PE Windows Parser。

        6. 安装 astyle。

         将 astyle 解压至相应目录,假设为 D:eclipseothertools astyle_1.20AStyle。

         启动 eclipse,启动运行菜单下的外部工具,进行相应设置,如图 3 所示。

         图 3 Astyle 配置图3.3MPICH 程序配置与测试1. 新建 managed maked C Project。

        项目名称假设为 C。

        在项目属性中的 C/C Buider 选项卡下做如下修改: 指定 MPICH 的 include 目录,如图 4 所示。

         图 4 指定 MPICH 的 include 目录图 指定 MPICH 的 lib 目录,并指明使用 mpi 库,如图 5 所示。

         图 5 指定 MPICH 的 lib 目录和 mpi 库2. 在上述项目中新建一个源文件 pi.c。

        并将 D:mpichexamples 目录下的 icpi.c 程序代码拷贝进 pi.c,这是一 个计算圆周率近似值的 mpi 程序3。

        保存程序,eclipse 会自动编译连接程序,生成可执行程序 c.exe。

        3. 在 c.exe 的右键菜单里选择 Run as-Run local c/c application 就能在 console 里看到运行的结果了。

        4. 可以直接设置断点,并在在 c.exe 的右键菜单里选择 Debug as-Debug local c/c application 就能进行单步 调试 mpi 程序了。

        5. 当然也可以使用 mpiexec 直接模拟并行执行以上 c.exe。

        如图 6 所示。

         图 6 mpiexec 并行运行 MPI 程序结果6. linux 环境下可以参考以上配置进行完全相同的环境配置,由于开发环境 eclipse 的可移植性,这样, windows 下的 mpich 项目就可以直接移植到 linux 环境,并编译运行。

        4 结论 本文给出了 windows 环境下,使用开源项目 Eclipse 作为开发工具,以 MinGW 模拟 GUN 的 CC编译器,结合 MPICH 的一个并行程序开发环境的配置思想和方法,并给出了一个在该开发环境下开发、调试并行程序的实例。

        该环境的配置思路和方法可以方便的移植到 Linux 等其它平台上。

        参考文献:1 Eclipse Foundation Inc. What is EclipseEB/OL. http://www.eclipse.org/home/newcomers.php 20072 The Message Passing Interface MPI standardEB/OL. http://www-unix.mcs.anl.gov/mpi/ 20063 都志辉. 高性能计算并行编程技术----MPI 并行程序设计M. 北京:清华大学出版社 2001指定 MPICH 的 include 目录指定 MPICH 的 lib 目录使用 mpiexec 直接模拟并行执行以上 c.exempiexec -n 4 cMPICH 编译:一.系统环境变量设置 否则找不到 mpi.hMINGW_PATHE:/MinGWC_INCLUDE_PATHMINGW_PATH/includeMINGW_PATH/lib/gcc/mingw32/4.5.2/includeMINGW_PATH/lib/gcc/mingw32/4.5.2/include-fixedE:/boost/MPICH2/mpich2-ia32/includeCPLUS_INCLUDE_PATHMINGW_PATH/lib/gcc/mingw32/4.5.2/include/cMINGW_PATH/lib/gcc/mingw32/4.5.2/include/c/backwardMINGW_PATHlib/gcc/mingw32/4.5.2/include/c/mingw32C_INCLUDE_PATHLIBRARY_PATHMINGW_PATH/libMINGW_PATH/lib/gcc/mingw32/4.5.2E:/boost/MPICH2/mpich2-ia32/lib二.编译命令1. gcc 不带 ICU 编译:还未使用 MinGW 成功编译 ICUbjam stage --toolsetgcc --debug-configuration --without-python --stagedirE:boostboost_1_48_0gcclinkstatic runtime-linkshared runtime-linkstatic threadingmulti debug release2. VS2010 带 ICU 编译:bjam stage --toolsetmsvc-10.0 --with-regex -sHAVE_ICU1-sICU_PATHE:boosticu4cicu4c-4_8_1_1-Win32 --stagedirE:boostboost_1_48_0VS2010_iculinkstatic runtime-linkshared runtime-linkstatic threadingmulti debug release3. 修改此文件,编译带 MPI:E:boostboost_1_48_0toolsbuildv2user-config.jamusing mpi : : lammpio lammpi mpi lam dl

    原创

    版权说明
    【设为主页】【加入收藏】【打印本文】【回到顶部】【关闭此页】
    •  相关文章 相关文章
      ·29, 基于灰色模糊评价的ERP选型决策
      ·基于最小二乘外网等效的线路电压稳定性指标
      ·2007年第二季度全国教育科学&
      ·基于汽车销售流程的《汽车及配件营销与管理
      ·CAXA线切割软件编程的方法与技巧
      ·BPA与PSS_E综合负荷模型的仿真研究
      ·藻类植物在环境监测中的研究进展 pdf
      ·毕业设计(论文):职业技术学院机电一体化
      ·基于PLC和步进电机的立体仓库存储系统精
    •  最新文件 最新文件
  • 特别推荐