From c94a4b9468b156fef294214d8f906ac75de6ccce Mon Sep 17 00:00:00 2001 From: Zhou Wei <52485244+zhouwei25@users.noreply.github.com> Date: Thu, 14 Jan 2021 14:24:25 +0800 Subject: [PATCH] Separate AVX and NO_AVX compilation, enhance installation error message (#30413) --- cmake/cuda.cmake | 2 +- python/paddle/fluid/core.py | 24 +++++++++++++++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/cmake/cuda.cmake b/cmake/cuda.cmake index 1f56183dfa8..f373951ccb2 100644 --- a/cmake/cuda.cmake +++ b/cmake/cuda.cmake @@ -15,7 +15,7 @@ else() set(paddle_known_gpu_archs7 "30 35 50 52") set(paddle_known_gpu_archs8 "30 35 50 52 60 61") set(paddle_known_gpu_archs9 "30 35 50 52 60 61 70") - set(paddle_known_gpu_archs10 "30 35 50 52 60 61 70 75") + set(paddle_known_gpu_archs10 "35 50 52 60 61 70 75") set(paddle_known_gpu_archs11 "52 60 61 70 75 80") endif() diff --git a/python/paddle/fluid/core.py b/python/paddle/fluid/core.py index 69881dd4528..4c24eb3d7fc 100644 --- a/python/paddle/fluid/core.py +++ b/python/paddle/fluid/core.py @@ -283,16 +283,24 @@ if avx_supported(): from .core_avx import _remove_tensor_list_mmap_fds except Exception as e: if has_avx_core: + sys.stderr.write( + 'Error: Can not import avx core while this file exists: ' + + current_path + os.sep + 'core_avx.' + core_suffix + '\n') raise e else: from .. import compat as cpt sys.stderr.write( - 'WARNING: Do not have avx core. You may not build with AVX, ' - 'but AVX is supported on local machine.\n You could build paddle ' - 'WITH_AVX=ON to get better performance.\n' - 'The original error is: %s\n' % cpt.get_exception_message(e)) + "WARNING: AVX is supported on local machine, but you have installed " + "paddlepaddle without avx core. Hence, no_avx core which has worse " + "preformance will be imported.\nYou could reinstall paddlepaddle by " + "'python -m pip install -U paddlepaddle-gpu[==version]' or rebuild " + "paddlepaddle WITH_AVX=ON to get better performance.\n" + "The original error is: %s\n" % cpt.get_exception_message(e)) load_noavx = True else: + sys.stderr.write( + "WARNING: AVX is not support on your machine. Hence, no_avx core will be imported, " + "It has much worse preformance than avx core.\n") load_noavx = True if load_noavx: @@ -330,8 +338,14 @@ if load_noavx: except Exception as e: if has_noavx_core: sys.stderr.write( - 'Error: Can not import noavx core while this file exists ' + + 'Error: Can not import noavx core while this file exists: ' + current_path + os.sep + 'core_noavx.' + core_suffix + '\n') + else: + sys.stderr.write( + "Error: AVX is not support on your machine, but you have installed " + "paddlepaddle with avx core, you should reinstall paddlepaddle by " + "'python -m pip install -U paddlepaddle-gpu[==version] -f " + "https://paddlepaddle.org.cn/whl/stable_noavx.html'\n") raise e -- GitLab