You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

host_build.sh 2.3 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/usr/bin/env bash
  2. set -e
  3. function usage() {
  4. echo "$0 args1 args2 .."
  5. echo "available args detail:"
  6. echo "-d : Build with Debug mode, defaule Release mode"
  7. echo "-c : Build with CUDA, default without CUDA"
  8. echo "-t : Build with training mode, default inference only"
  9. echo "example: $0 -d"
  10. exit -1
  11. }
  12. BUILD_TYPE=Release
  13. MGE_WITH_CUDA=OFF
  14. MGE_INFERENCE_ONLY=ON
  15. while getopts "dct" arg
  16. do
  17. case $arg in
  18. d)
  19. echo "Build with Debug mode"
  20. BUILD_TYPE=Debug
  21. ;;
  22. c)
  23. echo "Build with CUDA"
  24. MGE_WITH_CUDA=ON
  25. ;;
  26. t)
  27. echo "Build with training mode"
  28. MGE_INFERENCE_ONLY=OFF
  29. ;;
  30. ?)
  31. echo "unkonw argument"
  32. usage
  33. ;;
  34. esac
  35. done
  36. echo "------------------------------------"
  37. echo "build config summary:"
  38. echo "BUILD_TYPE: $BUILD_TYPE"
  39. echo "MGE_WITH_CUDA: $MGE_WITH_CUDA"
  40. echo "MGE_INFERENCE_ONLY: $MGE_INFERENCE_ONLY"
  41. echo "------------------------------------"
  42. READLINK=readlink
  43. OS=$(uname -s)
  44. if [ $OS = "Darwin" ];then
  45. READLINK=greadlink
  46. if [ $MGE_WITH_CUDA = "ON" ];then
  47. echo "MACOS DO NOT SUPPORT TensorRT, ABORT NOW!!"
  48. exit -1
  49. fi
  50. fi
  51. SRC_DIR=$($READLINK -f "`dirname $0`/../../")
  52. function cmake_build() {
  53. BUILD_DIR=$SRC_DIR/build_dir/host/MGE_WITH_CUDA_$1/MGE_INFERENCE_ONLY_$2/$3/build
  54. INSTALL_DIR=$BUILD_DIR/../install
  55. MGE_WITH_CUDA=$1
  56. MGE_INFERENCE_ONLY=$2
  57. BUILD_TYPE=$3
  58. echo "build dir: $BUILD_DIR"
  59. echo "install dir: $INSTALL_DIR"
  60. echo "build type: $BUILD_TYPE"
  61. echo "MGE_WITH_CUDA: $MGE_WITH_CUDA"
  62. echo "MGE_INFERENCE_ONLY: $MGE_INFERENCE_ONLY"
  63. if [ -e $BUILD_DIR ];then
  64. echo "clean old dir: $BUILD_DIR"
  65. rm -rf $BUILD_DIR
  66. fi
  67. if [ -e $INSTALL_DIR ];then
  68. echo "clean old dir: $INSTALL_DIR"
  69. rm -rf $INSTALL_DIR
  70. fi
  71. echo "create build dir"
  72. mkdir -p $BUILD_DIR
  73. mkdir -p $INSTALL_DIR
  74. cd $BUILD_DIR
  75. cmake \
  76. -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
  77. -DMGE_INFERENCE_ONLY=$MGE_INFERENCE_ONLY \
  78. -DMGE_WITH_CUDA=$MGE_WITH_CUDA \
  79. -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
  80. $SRC_DIR
  81. make -j$(nproc)
  82. make install/strip
  83. }
  84. cmake_build $MGE_WITH_CUDA $MGE_INFERENCE_ONLY $BUILD_TYPE

MegEngine 安装包中集成了使用 GPU 运行代码所需的 CUDA 环境,不用区分 CPU 和 GPU 版。 如果想要运行 GPU 程序,请确保机器本身配有 GPU 硬件设备并安装好驱动。 如果你想体验在云端 GPU 算力平台进行深度学习开发的感觉,欢迎访问 MegStudio 平台