Unverified Commit 2cce98dd authored by Tommaso Tocci's avatar Tommaso Tocci
Browse files

Drop CCI plugin support

CCI plugin have been tagged as deprecated in the Mercury library. We
where using it just for verbs, OFI+verbs can be used now as replecement.
parent c0de753f
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -100,7 +100,6 @@ set_property(CACHE RPC_PROTOCOL PROPERTY STRINGS
   "ofi+tcp"
   "ofi+verbs"
   "ofi+psm2"
   "cci+verbs"
)
message(STATUS "RPC protocol: '${RPC_PROTOCOL}'")

+2 −3
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ positional arguments:
optional arguments:
        -h, --help              shows this help message and exits
        -n <NAPLUGIN>, --na <NAPLUGIN>
                                network layer that is used for communication. Valid: {bmi,cci,ofi,all}
                                network layer that is used for communication. Valid: {bmi,ofi,all}
                                defaults to 'all'
        -c <CLUSTER>, --cluster <CLUSTER>
                                additional configurations for specific compute clusters
@@ -79,7 +79,7 @@ positional arguments:
optional arguments:
    -h, --help      shows this help message and exits
    -n <NAPLUGIN>, --na <NAPLUGIN>
                network layer that is used for communication. Valid: {bmi,cci,ofi,all}
                network layer that is used for communication. Valid: {bmi,ofi,all}
                defaults to 'all'
    -c <CLUSTER>, --cluster <CLUSTER>
                additional configurations for specific compute clusters
@@ -94,7 +94,6 @@ You need to decide what Mercury NA plugin you want to use. The following NA plug
 - `ofi+tcp` for using the libfabric plugin with TCP
 - `ofi+verbs` for using the libfabric plugin with Infiniband verbs (not threadsafe. Do not use.)
 - `ofi+psm2` for using the libfabric plugin with Intel Omni-Path
 - `cci+verbs` for using the cci plugin with Infiniband verbs
 - `bmi+tcp` for using the bmi plugin with the tcp protocol 

```bash
+3 −39
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ positional arguments:
optional arguments:
    -h, --help      shows this help message and exits
    -n <NAPLUGIN>, --na <NAPLUGIN>
                network layer that is used for communication. Valid: {bmi,cci,ofi,all}
                network layer that is used for communication. Valid: {bmi,ofi,all}
                defaults to 'all'
    -c <CLUSTER>, --cluster <CLUSTER>
                additional configurations for specific compute clusters
@@ -122,7 +122,7 @@ Input must be numeric and greater than 0."
		echo CORES    = "${CORES}"
	fi
fi
if [ "${NA_LAYER}" == "cci" ] || [ "${NA_LAYER}" == "bmi" ] || [ "${NA_LAYER}" == "ofi" ] || [ "${NA_LAYER}" == "all" ]; then
if [ "${NA_LAYER}" == "bmi" ] || [ "${NA_LAYER}" == "ofi" ] || [ "${NA_LAYER}" == "all" ]; then
	echo NAPLUGIN = "${NA_LAYER}"
else
    echo "No valid plugin selected"
@@ -142,7 +142,6 @@ else
fi

USE_BMI="-DNA_USE_BMI:BOOL=OFF"
USE_CCI="-DNA_USE_CCI:BOOL=OFF"
USE_OFI="-DNA_USE_OFI:BOOL=OFF"

CMAKE=`find_cmake`
@@ -161,14 +160,6 @@ export LIBRARY_PATH="${LIBRARY_PATH}:${INSTALL}/lib:${INSTALL}/lib64"

# Set cluster dependencies first
if [[ ( "${CLUSTER}" == "mogon1" ) || ( "${CLUSTER}" == "fh2" ) || ( "${CLUSTER}" == "mogon2" ) ]]; then
    # get libtool
    echo "############################################################ Installing:  libtool"
    CURR=${SOURCE}/libtool
    prepare_build_dir ${CURR}
    cd ${CURR}/build
    ../configure --prefix=${INSTALL}
    make -j${CORES}
    make install
    # compile zstd
    echo "############################################################ Installing:  zstd"
    CURR=${SOURCE}/zstd/build/cmake
@@ -205,33 +196,6 @@ if [ "$NA_LAYER" == "bmi" ] || [ "$NA_LAYER" == "all" ]; then
    make install
fi

if [ "$NA_LAYER" == "cci" ] || [ "$NA_LAYER" == "all" ]; then
    USE_CCI="-DNA_USE_CCI:BOOL=ON"
    echo "############################################################ Installing:  CCI"
    # CCI
    CURR=${SOURCE}/cci
    prepare_build_dir ${CURR}
    cd ${CURR}
    # patch hanging issue
    echo "########## Patch injection: Applying cci hanging patch"
    git apply ${PATCH_DIR}/cci_hang_final.patch
    echo "########## Patch injection: Disabling cci debug mode/devel mode entirely"
    git apply ${PATCH_DIR}/cci_remove_devel_mode.patch
    ./autogen.pl
    cd ${CURR}/build
if [[ ("${CLUSTER}" == "mogon1") || ("${CLUSTER}" == "fh2") ]]; then
    ../configure --with-verbs --prefix=${INSTALL} LIBS="-lpthread"
else
    ../configure --prefix=${INSTALL} LIBS="-lpthread"
fi

    echo "########## Patch injection: Replacing any remaining CFLAGS with '-g -O2' that are added by cci although debug mode is disabled with '-O3'"
    find . -type f -exec sed -i 's/-g -O2/-O3/g' {} \;
    make -j${CORES}
    make install
    [ "${PERFORM_TEST}" ] && make check
fi

if [ "$NA_LAYER" == "ofi" ] || [ "$NA_LAYER" == "all" ]; then
    USE_OFI="-DNA_USE_OFI:BOOL=ON"
    # Mogon2 already has libfabric installed in a version that Mercury supports.
@@ -264,7 +228,7 @@ $CMAKE \
    -DMERCURY_USE_EAGER_BULK:BOOL=ON \
    -DBUILD_SHARED_LIBS:BOOL=ON \
    -DCMAKE_INSTALL_PREFIX=${INSTALL} \
    ${USE_BMI} ${USE_CCI} ${USE_OFI} \
    ${USE_BMI} ${USE_OFI} \
    ..
make -j${CORES}
make install
+2 −8
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ positional arguments:
optional arguments:
        -h, --help              shows this help message and exits
        -n <NAPLUGIN>, --na <NAPLUGIN>
                                network layer that is used for communication. Valid: {bmi,cci,ofi,all}
                                network layer that is used for communication. Valid: {bmi,ofi,all}
                                defaults to 'all'
        -c <CLUSTER>, --cluster <CLUSTER>
                                additional configurations for specific compute clusters
@@ -141,7 +141,7 @@ if [ "${NA_LAYER}" == "" ]; then
fi

# sanity checks
if [[ ( "${NA_LAYER}" == "cci" ) || ( "${NA_LAYER}" == "bmi" ) || ( "${NA_LAYER}" == "ofi" ) || ( "${NA_LAYER}" == "all" ) ]]; then
if [[ ( "${NA_LAYER}" == "bmi" ) || ( "${NA_LAYER}" == "ofi" ) || ( "${NA_LAYER}" == "all" ) ]]; then
	echo NAPLUGIN = "${NA_LAYER}"
else
    echo "No valid plugin selected"
@@ -166,8 +166,6 @@ mkdir -p ${SOURCE}

# get cluster dependencies
if [[ ( "${CLUSTER}" == "mogon1" ) || ( "${CLUSTER}" == "mogon2" ) || ( "${CLUSTER}" == "fh2" ) ]]; then
    # get libtool for cci
    wgetdeps "libtool" "https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz" &
    # get zstd for fast compression in rocksdb
    wgetdeps "zstd" "https://github.com/facebook/zstd/archive/v1.3.2.tar.gz" &
    # get zlib for rocksdb
@@ -183,10 +181,6 @@ fi
if [ "${NA_LAYER}" == "bmi" ] || [ "${NA_LAYER}" == "all" ]; then
    clonedeps "bmi" "http://git.mcs.anl.gov/bmi.git" "2abbe991edc45b713e64c5fed78a20fdaddae59b" &
fi
# get CCI
if [ "${NA_LAYER}" == "cci" ] || [ "${NA_LAYER}" == "all" ]; then
    clonedeps "cci" "https://github.com/CCI/cci" "58fd58ea2aa60c116c2b77c5653ae36d854d78f2" &
fi
# get libfabric
if [ "${NA_LAYER}" == "ofi" ] || [ "${NA_LAYER}" == "all" ]; then
    # No need to get libfabric for mogon2 as it is already installed
+0 −21
Original line number Diff line number Diff line
diff --git a/src/plugins/ctp/verbs/ctp_verbs_api.c b/src/plugins/ctp/verbs/ctp_verbs_api.c
index e187ebd..016d97b 100644
--- a/src/plugins/ctp/verbs/ctp_verbs_api.c
+++ b/src/plugins/ctp/verbs/ctp_verbs_api.c
@@ -1063,7 +1063,7 @@ void rdma_destroy_ep(struct rdma_cm_id *id)
 	if (id->qp)
 		rdma_destroy_qp(id);
 
-	rdma_destroy_id(id);
+	//rdma_destroy_id(id);
 }
 #endif /* HAVE_RDMA_ADDRINFO */
 
@@ -2363,6 +2363,7 @@ static void verbs_destroy_conn(cci__ep_t *ep, cci__conn_t *conn)
 			      __func__, strerror(ret));
 		}
 	}
+    rdma_destroy_ep(vconn->id);
 
 	pthread_rwlock_wrlock(&vep->conn_tree_lock);
 	tdelete(&vconn->qp_num, &vep->conn_tree, verbs_compare_u32);
Loading