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.
76 строки
2.5 KiB
INI
76 строки
2.5 KiB
INI
#
|
|
# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
|
|
# This is the default HCA parameters file for Open MPI's OpenIB BTL.
|
|
# If HCA vendors wish to add their respective values into this file
|
|
# (that is distributed with Open MPI), please contact the Open MPI
|
|
# development team. See http://www.open-mpi.org/ for details.
|
|
|
|
# This file is in the "ini" style, meaning that it has sections
|
|
# identified section names enclosed in square brackets (e.g.,
|
|
# "[Section name]") followed by "key = value" pairs indicating values
|
|
# for a specific HCA vendor and model. HCAs are identified by their
|
|
# vendor ID and vendor part ID, which can be obtained by running the
|
|
# diagnostic utility command "ibv_devinfo". The fields "vendor_id"
|
|
# and "vendor_part"id" are the vendor ID and vendor part ID,
|
|
# respectively.
|
|
|
|
# The sections in this file only accept a few fields:
|
|
|
|
# vendor_id: an integer, expressed either in decimal or hexidecimal
|
|
# (e.g., "13" or "0xd"), and can be taken directly from the output of
|
|
# "ibv_devinfo". Example:
|
|
#
|
|
# vendor_id = 0x05ad
|
|
|
|
# vendor_part_id: a comma-delimited list of integers of different HCA
|
|
# models from a single vendor, expressed in either decimal or
|
|
# hexidecimal (e.g., "13" or "0xd"). Individual values can be
|
|
# obtained from the output of the "ibv_devinfo". Example:
|
|
#
|
|
# vendor_part_id = 25208,25218
|
|
|
|
# mtu: an integer indicating the maximum transfer unit (MTU) to be
|
|
# used with this HCA. The effective MTU will be the minimum of an
|
|
# HCA's MTU value and its peer HCA's MTU value. Valid values are 256,
|
|
# 512, 1024, 2048, and 4096. Example:
|
|
#
|
|
# mtu = 1024
|
|
|
|
############################################################################
|
|
|
|
[default]
|
|
# These are the default values, identified by the vendor and part ID
|
|
# numbers of 0 and 0. If queried HCA does not return vendor and part
|
|
# ID numbers that match any of the sections in this file, the values
|
|
# in this section are used.
|
|
vendor_id = 0
|
|
vendor_part_id = 0
|
|
mtu = 1024
|
|
|
|
############################################################################
|
|
|
|
[Mellanox Tavor Infinihost]
|
|
# Vendor ID's can be hex or decimal
|
|
vendor_id = 0x5ad
|
|
vendor_part_id = 2310
|
|
mtu = 1024
|
|
|
|
############################################################################
|
|
|
|
[Mellanox Arbel InfiniHost III MemFree/Tavor]
|
|
vendor_id = 0x5ad
|
|
vendor_part_id = 25208,25218
|
|
mtu = 1024
|
|
|
|
############################################################################
|
|
|
|
[Mellanox Sinai Infinihost III]
|
|
vendor_id = 0x5ad
|
|
vendor_part_id = 25204
|
|
mtu = 2048
|