474564a6b1
addition to my design and testing, it was conceptually approved by Gil, Gleb, Pasha, Brad, and Galen. Functionally [probably somewhat lightly] tested by Galen. We may still have to shake out some bugs during the next few months, but it seems to be working for all the cases that I can throw at it. Here's a summary of the changes from that branch: * Move MCA parameter registration to a new file (btl_openib_mca.c): * Properly check the retun status of registering MCA params * Check for valid values of MCA parameters * Make help strings better * Otherwise, the only default value of an MCA param that was changed was max_btls; it went from 4 to -1 (meaning: use all available) * Properly prototyped internal functions in _component.c * Made a bunch of functions static that didn't need to be public * Renamed to remove "mca_" prefix from static functions * Call new MCA param registration function * Call new INI file read/lookup/finalize functions * Updated a bunch of macros to be "BTL_" instead of "ORTE_" * Be a little more consistent with return values * Handle -1 for the max_btls MCA param * Fixed a free() that should have been an OBJ_RELEASE() * Some re-indenting * Added INI-file parsing * New flex file: btl_openib_ini.l * New default HCA params .ini file (probably to be expanded over time by other HCA vendors) * Added more show_help messages for parsing problems * Read in INI files and cache the values for later lookup * When component opens an HCA, lookup to see if any corresponding values were found in the INI files (ID'ed by the HCA vendor_id and vendor_part_id) * Added btl_openib_verbose MCA param that shows what the INI-file stuff does (e.g., shows which MTU your HCA ends up using) * Added btl_openib_hca_param_files as a colon-delimited list of INI files to check for values during startup (in order, left-to-right, just like the MCA base directory param). * MTU is currently the only value supported in this framework. * It is not a fatal error if we don't find params for the HCA in the INI file(s). Instead, just print a warning. New MCA param btl_openib_warn_no_hca_params_found can be used to disable printing the warning. * Add MTU to peer negotiation when making a connection * Exchange maximum MTU; select the lesser of the two This commit was SVN r11182.
77 строки
2.3 KiB
Makefile
77 строки
2.3 KiB
Makefile
#
|
|
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
# University Research and Technology
|
|
# Corporation. All rights reserved.
|
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
# of Tennessee Research Foundation. All rights
|
|
# reserved.
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
# Use the top-level Makefile.options
|
|
|
|
AM_CPPFLAGS = $(btl_openib_CPPFLAGS) -DPKGDATADIR=\"$(pkgdatadir)\"
|
|
AM_LFLAGS = -Pbtl_openib_ini_yy
|
|
LEX_OUTPUT_ROOT = lex.btl_openib_ini_yy
|
|
|
|
dist_pkgdata_DATA = \
|
|
help-mpi-btl-openib.txt \
|
|
mca-btl-openib-hca-params.ini
|
|
|
|
sources = \
|
|
btl_openib.c \
|
|
btl_openib.h \
|
|
btl_openib_component.c \
|
|
btl_openib_endpoint.c \
|
|
btl_openib_endpoint.h \
|
|
btl_openib_frag.c \
|
|
btl_openib_frag.h \
|
|
btl_openib_proc.c \
|
|
btl_openib_proc.h \
|
|
btl_openib_eager_rdma.h \
|
|
btl_openib_lex.h \
|
|
btl_openib_lex.l \
|
|
btl_openib_mca.c \
|
|
btl_openib_mca.h \
|
|
btl_openib_ini.c \
|
|
btl_openib_ini.h
|
|
|
|
# Make the output library in this directory, and name it either
|
|
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
|
|
# (for static builds).
|
|
|
|
if OMPI_BUILD_btl_openib_DSO
|
|
lib =
|
|
lib_sources =
|
|
component = mca_btl_openib.la
|
|
component_sources = $(sources)
|
|
else
|
|
lib = libmca_btl_openib.la
|
|
lib_sources = $(sources)
|
|
component =
|
|
component_sources =
|
|
endif
|
|
|
|
mcacomponentdir = $(libdir)/openmpi
|
|
mcacomponent_LTLIBRARIES = $(component)
|
|
mca_btl_openib_la_SOURCES = $(component_sources)
|
|
mca_btl_openib_la_LDFLAGS = -module -avoid-version $(btl_openib_LDFLAGS)
|
|
mca_btl_openib_la_LIBADD = \
|
|
$(btl_openib_LIBS) \
|
|
$(top_ompi_builddir)/ompi/libmpi.la \
|
|
$(top_ompi_builddir)/orte/liborte.la \
|
|
$(top_ompi_builddir)/opal/libopal.la
|
|
|
|
noinst_LTLIBRARIES = $(lib)
|
|
libmca_btl_openib_la_SOURCES = $(lib_sources)
|
|
libmca_btl_openib_la_LDFLAGS= -module -avoid-version $(btl_openib_LDFLAGS)
|
|
libmca_btl_openib_la_LIBADD=$(btl_openib_LIBS)
|