云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > HT的配置 在openmpi中添加ht模块主要有以下几个步骤: 1:按照如下

HT的配置 在openmpi中添加ht模块主要有以下几个步骤: 1:按照如下

  • 62 次阅读
  • 3 次下载
  • 2025/12/11 23:48:43

HT的配置

在openmpi中添加ht模块主要有以下几个步骤: 1:按照如下顺序检查autotools的版本号

shell$ m4 –version

shell$ autoconf –version shell$ automake --version shell$ libtoolize --version

并根据gnu的发布版本(http://ftp.gnu.org/gnu/),更新以上工具到最新版本。

2:在~/ompi/mca/btl/目录下添加ht目录,并在目录下建立如下的配置文件:configure.m4,configure.params,Makefile.in,Makefile.am,其中每个配置文件中重要的配置如下所示:

configure.m4:

AC_DEFUN([MCA_btl_ht_CONFIG],[ OMPI_CHECK_HT([btl_ht])

AC_CHECK_TYPES([struct sockaddr_in], [$1], [$2],

[AC_INCLUDES_DEFAULT #ifdef HAVE_NETINET_IN_H #include #endif]) ])dnl

主要是控制HT模块的配置,通过和SM相似的方式,每次都固定的加入HT模块

configure.params:

主要是是指定生产的配置文件名

PARAM_CONFIG_FILES=”Makefile”

Makefile.in

1):对一些配置文件路径进行配置

VPATH = @srcdir@

pkgdatadir = $(datadir)/@PACKAGE@

pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@

pkglibexecdir = $(libexecdir)/@PACKAGE@

am__cd = CDPATH=\

install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = :

NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = ompi/mca/btl/ht

DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4

am__aclocal_m4_deps = $(top_srcdir)/config/c_get_alignment.m4 \\ $(top_srcdir)/config/ompi_check_ht.m4 \\

2):对编译后的库进行配置

# Make the output library in this directory, and name it either

# mca__.la (for DSO builds) or libmca__.la # (for static builds).

@OMPI_BUILD_btl_ht_DSO_TRUE@component_noinst = @OMPI_BUILD_btl_ht_DSO_FALSE@component_install =

@OMPI_BUILD_btl_ht_DSO_TRUE@component_install = mca_btl_ht.la

Makefile.am

1):主要包含对一些重要变量的设置如下: ht_sources = \\ btl_ht.c \\ btl_ht.h \\

btl_ht_component.c \\ btl_ht_endpoint.c \\ btl_ht_endpoint.h \\ btl_ht_frag.c \\ btl_ht_frag.h \\ btl_ht_proc.c \\ btl_ht_proc.h

2):对HT模块编译方式的选择,是采用静态库还是动态库。

if OMPI_BUILD_btl_ht_DSO component_noinst =

component_install = mca_btl_ht.la else

component_noinst = libmca_btl_ht.la component_install = endif

5:在~/ompi/mca/btl/ht/目录下包含的文件有: btl_ht.c

btl_ht.h

btl_ht_component.c btl_ht_endpoint.c btl_ht_endpoint.h btl_ht_frag.c btl_ht_frag.h btl_ht_proc.c btl_ht_proc.h

6:在~/ompi/mca/common/ht/目录下包含的文件有 common_ht_mmap.c common_ht_mmap.h

7:在~/ompi/mca/mpool/ht/目录下包含的文件有 mca_ht_component.c mca_ht_module.c mpool_ht.h

8:在主目录下~/下执行./autogen.sh,来生成配置文件configure. 如果遇到问题,请回到第一步,检查相应文件的版本号。接着检查主机上的GCC版本和g++版本是否是太低(<4.2)。如还有问题,可在邮件列表中提出: mailto:devel@open-mpi.org 9:执行./configure –prefix= --enable-debug文件以生成Makefile 10:执行make;make install.安装完成。

HT模块的主要框架

Ht的实现主要是在btl架构(framework)下,添加一个通用的组件(component),在这个组件中,主要有如下重要的函数和数据结构。 1:Ht模块的各个文件说明。

btl_ht.c 包含主要的HT相关的函数如:

与组件相关的函数: mca_btl_ht_add_procs(), mca_btl_ht_del_procs(), mca_btl_ht_finalize(),

与segment相关的函数: mca_btl_alloc(), mca_btl_ht_free()

与发送和接收相关的函数: mca_btl_ht_prepare_src() mca_btl_ht_prepare_dst() mca_btl_ht_send() mca_btl_ht_sendi() 和事件相关的函数: mca_btl_ht_ft_event()

btl_ht_component.c中实现的主要函数如下: HT组件的的打开和初始化: mca_btl_ht_component_open() mca_btl_ht_component_close() mca_btl_ht_component_init()

btl_ht_frag.c中实现的主要函数如下: 不同发送片段的构造和初始化: mca_btl_ht_frag_constructor() mca_btl_ht_frag_eager_constrctor() 主要的数据结构说明:

struct mca_btl_ht_component_t{

mca_btl_base_component_2_0_0_t super; /**<基类BTL框架*/ int free_list_num; /**<初始化空闲链表的大小*/ int free_list_max; /**<空闲链表最大允许大小*/ int free_list_inc; /**<空闲链表每次增长单位*/ opal_mutex_t ht_lock; ompi_free_list_t ht_frags_eager; /**

mca_btl_base_module_t mca_btl_ht={ &mca_btl_ht_component.super, 0, /*btl_eager_limit*/ 0,/*btl_rndv_eager_limit*/ 0,/*btl_max_send_size*/ 0,/*btl_rdma_pipeline_send_length*/ 0,/*btl_min_rdma_pipeline_size*/ 0,/*btl_exclusivity*/ 0,/*btl_latency*/ 0,/*btl_bandwidth*/

};

0,/*btl_flags*/

mca_btl_ht_add_procs, mca_btl_ht_del_procs, NULL,

mca_btl_ht_finalize, mca_btl_ht_alloc, mca_btl_ht_free,

mca_btl_ht_prepare_src, mca_btl_ht_prepare_dst, mca_btl_ht_send,

NULL,/*send immediate*/ mca_btl_ht_rdma /*put*/ mca_btl_ht_rdma/*get*/ mca_btl_base_dump, NULL,/*mpool*/

NULL/*register error cb*/ mca_btl_ht_ft_event

基于HT的OpenMPI使用

基于HT的OpenMPI使用如下: 1:首先通过配置文件安装OpenMPI ./configure --enable-debug --prefix= --enable-contrib-no-build=vt 2:安装后指定动态链接库位置。 $LD_LIBRARY_PATH= 3:运行写好的测试程序,如下图示:

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

HT的配置 在openmpi中添加ht模块主要有以下几个步骤: 1:按照如下顺序检查autotools的版本号 shell$ m4 –version shell$ autoconf –version shell$ automake --version shell$ libtoolize --version 并根据gnu的发布版本(http://ftp.gnu.org/gnu/),更新以上工具到最新版本。 2:在~/ompi/mca/btl/目录下添加ht目录,并在目录下建立如下的配置文件:configure.m4,configure.params,Makefile.in,Makefile.am,其中每个配置文件中重要的配置如下所示: configure.m4:

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com