From 8bf6ef1337359993a8be057c0dc90da8f5a6e4fa Mon Sep 17 00:00:00 2001 From: "A. Unique TensorFlower" Date: Thu, 5 May 2016 08:36:05 -0800 Subject: Merge changes from github. Change: 121586635 --- configure | 71 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 21 deletions(-) (limited to 'configure') diff --git a/configure b/configure index 75098c17ee..3f9a53b573 100755 --- a/configure +++ b/configure @@ -89,6 +89,8 @@ done # Find out where the CUDA toolkit is installed +OSNAME=`uname -s` + while true; do # Configure the Cuda SDK version to use. if [ -z "$TF_CUDA_VERSION" ]; then @@ -104,15 +106,24 @@ while true; do CUDA_TOOLKIT_PATH=$default_cuda_path fi fi + if [[ -z "$TF_CUDA_VERSION" ]]; then TF_CUDA_EXT="" else TF_CUDA_EXT=".$TF_CUDA_VERSION" fi - if [ -e $CUDA_TOOLKIT_PATH/lib64/libcudart.so$TF_CUDA_EXT ]; then + + if [ "$OSNAME" == "Linux" ]; then + CUDA_RT_LIB_PATH="lib64/libcudart.so${TF_CUDA_EXT}" + elif [ "$OSNAME" == "Darwin" ]; then + CUDA_RT_LIB_PATH="lib/libcudart${TF_CUDA_EXT}.dylib" + fi + + if [ -e "${CUDA_TOOLKIT_PATH}/${CUDA_RT_LIB_PATH}" ]; then break fi - echo "Invalid path to CUDA $TF_CUDA_VERSION toolkit. $CUDA_TOOLKIT_PATH/lib64/libcudart.so$TF_CUDA_EXT cannot be found" + echo "Invalid path to CUDA $TF_CUDA_VERSION toolkit. ${CUDA_TOOLKIT_PATH}/${CUDA_RT_LIB_PATH} cannot be found" + if [ -z "$fromuser" ]; then exit 1 fi @@ -138,25 +149,41 @@ while true; do fi # Result returned from "read" will be used unexpanded. That make "~" unuseable. # Going through one more level of expansion to handle that. - CUDNN_INSTALL_PATH=$(bash -c "readlink -f $CUDNN_INSTALL_PATH") + CUDNN_INSTALL_PATH=`${PYTHON_BIN_PATH} -c "import os; print(os.path.realpath(os.path.expanduser('${CUDNN_INSTALL_PATH}')))"` fi + if [[ -z "$TF_CUDNN_VERSION" ]]; then TF_CUDNN_EXT="" else TF_CUDNN_EXT=".$TF_CUDNN_VERSION" fi - if [ -e "$CUDNN_INSTALL_PATH/libcudnn.so${TF_CUDNN_EXT}" -o -e "$CUDNN_INSTALL_PATH/lib64/libcudnn.so${TF_CUDNN_EXT}" ]; then - break + + if [ "$OSNAME" == "Linux" ]; then + CUDA_DNN_LIB_PATH="lib64/libcudnn.so${TF_CUDNN_EXT}" + CUDA_DNN_LIB_ALT_PATH="libcudnn.so${TF_CUDNN_EXT}" + elif [ "$OSNAME" == "Darwin" ]; then + CUDA_DNN_LIB_PATH="lib/libcudnn${TF_CUDNN_EXT}.dylib" + CUDA_DNN_LIB_ALT_PATH="libcudnn${TF_CUDNN_EXT}.dylib" fi - CUDNN_PATH_FROM_LDCONFIG="$(ldconfig -p | sed -n 's/.*libcudnn.so .* => \(.*\)/\1/p')" - if [ -e "${CUDNN_PATH_FROM_LDCONFIG}${TF_CUDNN_EXT}" ]; then - CUDNN_INSTALL_PATH="$(dirname ${CUDNN_PATH_FROM_LDCONFIG})" + + if [ -e "$CUDNN_INSTALL_PATH/${CUDA_DNN_LIB_ALT_PATH}" -o -e "$CUDNN_INSTALL_PATH/${CUDA_DNN_LIB_PATH}" ]; then break fi - echo "Invalid path to cuDNN ${TF_CUDNN_VERSION} toolkit. Neither of the following two files can be found:" - echo "$CUDNN_INSTALL_PATH/lib64/libcudnn.so${TF_CUDNN_EXT}" - echo "$CUDNN_INSTALL_PATH/libcudnn.so${TF_CUDNN_EXT}" - echo "${CUDNN_PATH_FROM_LDCONFIG}${TF_CUDNN_EXT}" + + if [ "$OSNAME" == "Linux" ]; then + CUDNN_PATH_FROM_LDCONFIG="$(ldconfig -p | sed -n 's/.*libcudnn.so .* => \(.*\)/\1/p')" + if [ -e "${CUDNN_PATH_FROM_LDCONFIG}${TF_CUDNN_EXT}" ]; then + CUDNN_INSTALL_PATH="$(dirname ${CUDNN_PATH_FROM_LDCONFIG})" + break + fi + fi + echo "Invalid path to cuDNN ${CUDNN_VERSION} toolkit. Neither of the following two files can be found:" + echo "${CUDNN_INSTALL_PATH}/${CUDA_DNN_LIB_PATH}" + echo "${CUDNN_INSTALL_PATH}/${CUDA_DNN_LIB_ALT_PATH}" + if [ "$OSNAME" == "Linux" ]; then + echo "${CUDNN_PATH_FROM_LDCONFIG}${TF_CUDNN_EXT}" + fi + if [ -z "$fromuser" ]; then exit 1 fi @@ -168,18 +195,16 @@ done cat > third_party/gpus/cuda/cuda.config <