昇腾社区首页
中文
注册

编译优化

在推理业务场景下,使用毕昇编译器编译安装的Python,能有效提升推理性能。

当前主要使用了毕昇编译器的链接时优化(LTO)和PGO(Profile-Guided Optimization)编译优化能力,了解更多原理请参考《毕昇编译器优化与编程指导》。

前提条件

参考《毕昇编译器用户指南》安装毕昇编译器,并配置环境变量。

编译安装Python

  1. 安装编译Python所需依赖。
    Debian系列:
    1
    sudo apt-get install -y make cmake libsqlite3-dev zlib1g-dev libssl-dev libffi-dev
    
    openEuler系列:
    1
    sudo yum install -y make cmake sqlite-devel zlib-devel openssl-devel libffi-devel
    
  2. 执行以下命令配置环境变量,指定毕昇编译器进行编译。
    1
    2
    3
    export CC=clang
    export CXX=clang++
    export C=clang
    
  3. 执行以下命令,使用wget下载python源码包,当前以Python 3.9.9为例,下载到安装环境的任意目录。
    1
    wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
    
  4. 执行以下命令解压源码包。
    1
    tar -zxvf Python-3.9.9.tgz
    
  5. 使用BiShengCompiler编译Python。进入解压后的文件夹,执行配置、编译和安装命令。
    1
    2
    3
    cd Python-3.9.9
    ./configure --prefix=/usr/local/python3.9.9_bisheng --enable-loadable-sqlite-extensions --enable-shared --with-lto --enable-optimizations
    make -j32 && make install
    
  6. 配置Python环境变量,以安装路径/usr/local/python3.9.9_bisheng为例,请替换为Python实际安装路径。
    1
    2
    export LD_LIBRARY_PATH=/usr/local/python3.9.9_bisheng/lib:$LD_LIBRARY_PATH
    export PATH=/usr/local/python3.9.9_bisheng/bin:$PATH