提交 c7694dbd 编写于 作者: T Travis CI

Deploy to GitHub Pages: f0548679

上级 e828be43
...@@ -191,7 +191,7 @@ You can add :code:`-D` argument to pass such options, like: ...@@ -191,7 +191,7 @@ You can add :code:`-D` argument to pass such options, like:
"WITH_TESTING", "Build unit tests", "OFF" "WITH_TESTING", "Build unit tests", "OFF"
"WITH_DOC", "Build documentations", "OFF" "WITH_DOC", "Build documentations", "OFF"
"WITH_SWIG_PY", "Build Python SWIG interface for V2 API", "Auto" "WITH_SWIG_PY", "Build Python SWIG interface for V2 API", "Auto"
"WITH_GOLANG", "Build fault-tolerant parameter server written in go", "ON" "WITH_GOLANG", "Build fault-tolerant parameter server written in go", "OFF"
"WITH_MKL", "Use MKL as BLAS library, else use OpenBLAS", "ON" "WITH_MKL", "Use MKL as BLAS library, else use OpenBLAS", "ON"
......
...@@ -25,6 +25,12 @@ Users can directly use the published Docker image. ...@@ -25,6 +25,12 @@ Users can directly use the published Docker image.
$ docker pull paddlepaddle/paddle:latest-dev-android $ docker pull paddlepaddle/paddle:latest-dev-android
``` ```
For users in China, we provide a faster mirror.
```bash
$ docker pull docker.paddlepaddlehub.com/paddle:latest-dev-android
```
### Build the Inference Library ### Build the Inference Library
We can run the Docker image we just created to build the inference library of PaddlePaddle for Android using the command below: We can run the Docker image we just created to build the inference library of PaddlePaddle for Android using the command below:
...@@ -86,19 +92,19 @@ Android NDK includes everything we need to build the [*standalone toolchain*](ht ...@@ -86,19 +92,19 @@ Android NDK includes everything we need to build the [*standalone toolchain*](ht
- To build the standalone toolchain for `armeabi-v7a` and Android API level 21: - To build the standalone toolchain for `armeabi-v7a` and Android API level 21:
```bash ```bash
your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh \ your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh \
--arch=arm --platform=android-21 --install-dir=your/path/to/arm_standalone_toolchain --arch=arm --platform=android-21 --install-dir=your/path/to/arm_standalone_toolchain
``` ```
The generated standalone toolchain will be in `your/path/to/arm_standalone_toolchain`. The generated standalone toolchain will be in `your/path/to/arm_standalone_toolchain`.
- To build the standalone toolchain for `arm64-v8a` and Android API level 21: - To build the standalone toolchain for `arm64-v8a` and Android API level 21:
```bash ```bash
your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh \ your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh \
--arch=arm64 --platform=android-21 --install-dir=your/path/to/arm64_standalone_toolchain --arch=arm64 --platform=android-21 --install-dir=your/path/to/arm64_standalone_toolchain
``` ```
The generated standalone toolchain will be in `your/path/to/arm64_standalone_toolchain`. The generated standalone toolchain will be in `your/path/to/arm64_standalone_toolchain`.
......
...@@ -406,7 +406,7 @@ For detailed cmake tutorial please refer to <a class="reference external" href=" ...@@ -406,7 +406,7 @@ For detailed cmake tutorial please refer to <a class="reference external" href="
</tr> </tr>
<tr class="row-even"><td>WITH_GOLANG</td> <tr class="row-even"><td>WITH_GOLANG</td>
<td>Build fault-tolerant parameter server written in go</td> <td>Build fault-tolerant parameter server written in go</td>
<td>ON</td> <td>OFF</td>
</tr> </tr>
<tr class="row-odd"><td>WITH_MKL</td> <tr class="row-odd"><td>WITH_MKL</td>
<td>Use MKL as BLAS library, else use OpenBLAS</td> <td>Use MKL as BLAS library, else use OpenBLAS</td>
......
...@@ -199,6 +199,10 @@ $ docker build -t paddle:dev-android . -f Dockerfile.android ...@@ -199,6 +199,10 @@ $ docker build -t paddle:dev-android . -f Dockerfile.android
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker pull paddlepaddle/paddle:latest-dev-android <div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker pull paddlepaddle/paddle:latest-dev-android
</pre></div> </pre></div>
</div> </div>
<p>For users in China, we provide a faster mirror.</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker pull docker.paddlepaddlehub.com/paddle:latest-dev-android
</pre></div>
</div>
</div> </div>
<div class="section" id="build-the-inference-library"> <div class="section" id="build-the-inference-library">
<span id="build-the-inference-library"></span><h3>Build the Inference Library<a class="headerlink" href="#build-the-inference-library" title="Permalink to this headline"></a></h3> <span id="build-the-inference-library"></span><h3>Build the Inference Library<a class="headerlink" href="#build-the-inference-library" title="Permalink to this headline"></a></h3>
...@@ -248,22 +252,22 @@ unzip -q android-ndk-r14b-linux-x86_64.zip ...@@ -248,22 +252,22 @@ unzip -q android-ndk-r14b-linux-x86_64.zip
</pre></div> </pre></div>
</div> </div>
<p>Android NDK includes everything we need to build the <a class="reference external" href="https://developer.android.com/ndk/guides/standalone_toolchain.html"><em>standalone toolchain</em></a>, which in then used to build PaddlePaddle for Android. (We plan to remove the intermediate stage of building the standalone toolchain in the near future.)</p> <p>Android NDK includes everything we need to build the <a class="reference external" href="https://developer.android.com/ndk/guides/standalone_toolchain.html"><em>standalone toolchain</em></a>, which in then used to build PaddlePaddle for Android. (We plan to remove the intermediate stage of building the standalone toolchain in the near future.)</p>
<ul> <ul class="simple">
<li><p class="first">To build the standalone toolchain for <code class="docutils literal"><span class="pre">armeabi-v7a</span></code> and Android API level 21:</p> <li>To build the standalone toolchain for <code class="docutils literal"><span class="pre">armeabi-v7a</span></code> and Android API level 21:</li>
</ul>
<div class="highlight-bash"><div class="highlight"><pre><span></span>your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh <span class="se">\</span> <div class="highlight-bash"><div class="highlight"><pre><span></span>your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh <span class="se">\</span>
--arch<span class="o">=</span>arm --platform<span class="o">=</span>android-21 --install-dir<span class="o">=</span>your/path/to/arm_standalone_toolchain --arch<span class="o">=</span>arm --platform<span class="o">=</span>android-21 --install-dir<span class="o">=</span>your/path/to/arm_standalone_toolchain
</pre></div> </pre></div>
</div> </div>
<p>The generated standalone toolchain will be in <code class="docutils literal"><span class="pre">your/path/to/arm_standalone_toolchain</span></code>.</p> <p>The generated standalone toolchain will be in <code class="docutils literal"><span class="pre">your/path/to/arm_standalone_toolchain</span></code>.</p>
</li> <ul class="simple">
<li><p class="first">To build the standalone toolchain for <code class="docutils literal"><span class="pre">arm64-v8a</span></code> and Android API level 21:</p> <li>To build the standalone toolchain for <code class="docutils literal"><span class="pre">arm64-v8a</span></code> and Android API level 21:</li>
</ul>
<div class="highlight-bash"><div class="highlight"><pre><span></span>your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh <span class="se">\</span> <div class="highlight-bash"><div class="highlight"><pre><span></span>your/path/to/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh <span class="se">\</span>
--arch<span class="o">=</span>arm64 --platform<span class="o">=</span>android-21 --install-dir<span class="o">=</span>your/path/to/arm64_standalone_toolchain --arch<span class="o">=</span>arm64 --platform<span class="o">=</span>android-21 --install-dir<span class="o">=</span>your/path/to/arm64_standalone_toolchain
</pre></div> </pre></div>
</div> </div>
<p>The generated standalone toolchain will be in <code class="docutils literal"><span class="pre">your/path/to/arm64_standalone_toolchain</span></code>.</p> <p>The generated standalone toolchain will be in <code class="docutils literal"><span class="pre">your/path/to/arm64_standalone_toolchain</span></code>.</p>
</li>
</ul>
</div> </div>
<div class="section" id="cross-compiling-arguments"> <div class="section" id="cross-compiling-arguments">
<span id="cross-compiling-arguments"></span><h3>Cross-Compiling Arguments<a class="headerlink" href="#cross-compiling-arguments" title="Permalink to this headline"></a></h3> <span id="cross-compiling-arguments"></span><h3>Cross-Compiling Arguments<a class="headerlink" href="#cross-compiling-arguments" title="Permalink to this headline"></a></h3>
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
...@@ -189,7 +189,7 @@ PaddlePaddle的编译选项,包括生成CPU/GPU二进制文件、链接何种B ...@@ -189,7 +189,7 @@ PaddlePaddle的编译选项,包括生成CPU/GPU二进制文件、链接何种B
"WITH_TESTING", "是否开启单元测试", "OFF" "WITH_TESTING", "是否开启单元测试", "OFF"
"WITH_DOC", "是否编译中英文文档", "OFF" "WITH_DOC", "是否编译中英文文档", "OFF"
"WITH_SWIG_PY", "是否编译PYTHON的SWIG接口,该接口可用于预测和定制化训练", "Auto" "WITH_SWIG_PY", "是否编译PYTHON的SWIG接口,该接口可用于预测和定制化训练", "Auto"
"WITH_GOLANG", "是否编译go语言的可容错parameter server", "ON" "WITH_GOLANG", "是否编译go语言的可容错parameter server", "OFF"
"WITH_MKL", "是否使用MKL数学库,如果为否则是用OpenBLAS", "ON" "WITH_MKL", "是否使用MKL数学库,如果为否则是用OpenBLAS", "ON"
BLAS BLAS
......
...@@ -23,6 +23,12 @@ $ docker build -t username/paddle-android:dev . -f Dockerfile.android ...@@ -23,6 +23,12 @@ $ docker build -t username/paddle-android:dev . -f Dockerfile.android
$ docker pull paddlepaddle/paddle:latest-dev-android $ docker pull paddlepaddle/paddle:latest-dev-android
``` ```
对于国内用户,我们提供了加速访问的镜像源:
```bash
$ docker pull docker.paddlepaddlehub.com/paddle:latest-dev-android
```
### 编译PaddlePaddle C-API库 ### 编译PaddlePaddle C-API库
构建好开发镜像后,即可使用开发镜像来编译Android版PaddlePaddle C-API库。 构建好开发镜像后,即可使用开发镜像来编译Android版PaddlePaddle C-API库。
Android的Docker开发镜像向用户提供两个可配置的参数: Android的Docker开发镜像向用户提供两个可配置的参数:
...@@ -56,15 +62,15 @@ Android的Docker开发镜像向用户提供两个可配置的参数: ...@@ -56,15 +62,15 @@ Android的Docker开发镜像向用户提供两个可配置的参数:
- 编译`armeabi-v7a`,`Android API 21`的PaddlePaddle库 - 编译`armeabi-v7a`,`Android API 21`的PaddlePaddle库
```bash ```bash
$ docker run -it --rm -v $PWD:/paddle -e "ANDROID_ABI=armeabi-v7a" -e "ANDROID_API=21" username/paddle-android:dev $ docker run -it --rm -v $PWD:/paddle -e "ANDROID_ABI=armeabi-v7a" -e "ANDROID_API=21" username/paddle-android:dev
``` ```
- 编译`arm64-v8a`,`Android API 21`的PaddlePaddle库 - 编译`arm64-v8a`,`Android API 21`的PaddlePaddle库
```bash ```bash
$ docker run -it --rm -v $PWD:/paddle -e "ANDROID_ABI=arm64-v8a" -e "ANDROID_API=21" username/paddle-android:dev $ docker run -it --rm -v $PWD:/paddle -e "ANDROID_ABI=arm64-v8a" -e "ANDROID_API=21" username/paddle-android:dev
``` ```
执行上述`docker run`命令时,容器默认执行[paddle/scripts/docker/build_android.sh](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/scripts/docker/build_android.sh)脚本。该脚本中记录了交叉编译Android版PaddlePaddle库常用的CMake配置,并且会根据`ANDROID_ABI`和`ANDROID_API`自动构建独立工具链、进行编译和安装。由于arm64架构要求Android API不小于21。因此当`ANDROID_ABI=arm64-v8a`,`ANDROID_API<21`时,Docker容器中将默认使用`Android API 21`的编译工具链。用户可以参考下文[配置交叉编译参数](#配置交叉编译参数)章节,根据个人的需求修改定制Docker容器所执行的脚本。编译安装结束之后,PaddlePaddle的C-API库将被安装到`$PWD/install_android`目录,所依赖的第三方库同时也被安装到`$PWD/install_android/third_party`目录。 执行上述`docker run`命令时,容器默认执行[paddle/scripts/docker/build_android.sh](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/scripts/docker/build_android.sh)脚本。该脚本中记录了交叉编译Android版PaddlePaddle库常用的CMake配置,并且会根据`ANDROID_ABI`和`ANDROID_API`自动构建独立工具链、进行编译和安装。由于arm64架构要求Android API不小于21。因此当`ANDROID_ABI=arm64-v8a`,`ANDROID_API<21`时,Docker容器中将默认使用`Android API 21`的编译工具链。用户可以参考下文[配置交叉编译参数](#配置交叉编译参数)章节,根据个人的需求修改定制Docker容器所执行的脚本。编译安装结束之后,PaddlePaddle的C-API库将被安装到`$PWD/install_android`目录,所依赖的第三方库同时也被安装到`$PWD/install_android/third_party`目录。
...@@ -155,7 +161,11 @@ cmake -DCMAKE_SYSTEM_NAME=Android \ ...@@ -155,7 +161,11 @@ cmake -DCMAKE_SYSTEM_NAME=Android \
.. ..
``` ```
用户还可根据自己的需求设置其他编译参数。比如希望最小化生成的库的大小,可以设置`CMAKE_BUILD_TYPE`为`MinSizeRel`;若希望最快的执行速度,则可设置`CMAKE_BUILD_TYPE`为`Release`。亦可以通过手动设置`CMAKE_C/CXX_FLAGS`来影响PaddlePaddle的编译过程。 用户还可根据自己的需求设置其他编译参数。
- 设置`CMAKE_BUILD_TYPE`为`MinSizeRel`,最小化生成的库的大小。
- 设置`CMAKE_BUILD_TYPE`为`Release`,获得最快的执行速度,
- 用户亦可以通过手动设置`CMAKE_C/CXX_FLAGS`来影响PaddlePaddle的编译过程。
**性能TIPS**,为了达到最快的计算速度,在CMake参数配置上,有以下建议: **性能TIPS**,为了达到最快的计算速度,在CMake参数配置上,有以下建议:
......
...@@ -419,7 +419,7 @@ ctest -R test_sum_op -V ...@@ -419,7 +419,7 @@ ctest -R test_sum_op -V
</tr> </tr>
<tr class="row-even"><td>WITH_GOLANG</td> <tr class="row-even"><td>WITH_GOLANG</td>
<td>是否编译go语言的可容错parameter server</td> <td>是否编译go语言的可容错parameter server</td>
<td>ON</td> <td>OFF</td>
</tr> </tr>
<tr class="row-odd"><td>WITH_MKL</td> <tr class="row-odd"><td>WITH_MKL</td>
<td>是否使用MKL数学库,如果为否则是用OpenBLAS</td> <td>是否使用MKL数学库,如果为否则是用OpenBLAS</td>
......
...@@ -218,6 +218,10 @@ $ docker build -t username/paddle-android:dev . -f Dockerfile.android ...@@ -218,6 +218,10 @@ $ docker build -t username/paddle-android:dev . -f Dockerfile.android
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker pull paddlepaddle/paddle:latest-dev-android <div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker pull paddlepaddle/paddle:latest-dev-android
</pre></div> </pre></div>
</div> </div>
<p>对于国内用户,我们提供了加速访问的镜像源:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker pull docker.paddlepaddlehub.com/paddle:latest-dev-android
</pre></div>
</div>
</div> </div>
<div class="section" id="paddlepaddle-c-api"> <div class="section" id="paddlepaddle-c-api">
<span id="paddlepaddle-c-api"></span><h3>编译PaddlePaddle C-API库<a class="headerlink" href="#paddlepaddle-c-api" title="永久链接至标题"></a></h3> <span id="paddlepaddle-c-api"></span><h3>编译PaddlePaddle C-API库<a class="headerlink" href="#paddlepaddle-c-api" title="永久链接至标题"></a></h3>
...@@ -248,18 +252,18 @@ Android的Docker开发镜像向用户提供两个可配置的参数:</p> ...@@ -248,18 +252,18 @@ Android的Docker开发镜像向用户提供两个可配置的参数:</p>
<td>21</td> <td>21</td>
</tr> </tr>
</tbody> </tbody>
</table><ul> </table><ul class="simple">
<li><p class="first">编译<code class="docutils literal"><span class="pre">armeabi-v7a</span></code><code class="docutils literal"><span class="pre">Android</span> <span class="pre">API</span> <span class="pre">21</span></code>的PaddlePaddle库</p> <li>编译<code class="docutils literal"><span class="pre">armeabi-v7a</span></code><code class="docutils literal"><span class="pre">Android</span> <span class="pre">API</span> <span class="pre">21</span></code>的PaddlePaddle库</li>
</ul>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker run -it --rm -v <span class="nv">$PWD</span>:/paddle -e <span class="s2">&quot;ANDROID_ABI=armeabi-v7a&quot;</span> -e <span class="s2">&quot;ANDROID_API=21&quot;</span> username/paddle-android:dev <div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker run -it --rm -v <span class="nv">$PWD</span>:/paddle -e <span class="s2">&quot;ANDROID_ABI=armeabi-v7a&quot;</span> -e <span class="s2">&quot;ANDROID_API=21&quot;</span> username/paddle-android:dev
</pre></div> </pre></div>
</div> </div>
</li> <ul class="simple">
<li><p class="first">编译<code class="docutils literal"><span class="pre">arm64-v8a</span></code><code class="docutils literal"><span class="pre">Android</span> <span class="pre">API</span> <span class="pre">21</span></code>的PaddlePaddle库</p> <li>编译<code class="docutils literal"><span class="pre">arm64-v8a</span></code><code class="docutils literal"><span class="pre">Android</span> <span class="pre">API</span> <span class="pre">21</span></code>的PaddlePaddle库</li>
</ul>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker run -it --rm -v <span class="nv">$PWD</span>:/paddle -e <span class="s2">&quot;ANDROID_ABI=arm64-v8a&quot;</span> -e <span class="s2">&quot;ANDROID_API=21&quot;</span> username/paddle-android:dev <div class="highlight-bash"><div class="highlight"><pre><span></span>$ docker run -it --rm -v <span class="nv">$PWD</span>:/paddle -e <span class="s2">&quot;ANDROID_ABI=arm64-v8a&quot;</span> -e <span class="s2">&quot;ANDROID_API=21&quot;</span> username/paddle-android:dev
</pre></div> </pre></div>
</div> </div>
</li>
</ul>
<p>执行上述<code class="docutils literal"><span class="pre">docker</span> <span class="pre">run</span></code>命令时,容器默认执行<a class="reference external" href="https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/scripts/docker/build_android.sh">paddle/scripts/docker/build_android.sh</a>脚本。该脚本中记录了交叉编译Android版PaddlePaddle库常用的CMake配置,并且会根据<code class="docutils literal"><span class="pre">ANDROID_ABI</span></code><code class="docutils literal"><span class="pre">ANDROID_API</span></code>自动构建独立工具链、进行编译和安装。由于arm64架构要求Android API不小于21。因此当<code class="docutils literal"><span class="pre">ANDROID_ABI=arm64-v8a</span></code><code class="docutils literal"><span class="pre">ANDROID_API&lt;21</span></code>时,Docker容器中将默认使用<code class="docutils literal"><span class="pre">Android</span> <span class="pre">API</span> <span class="pre">21</span></code>的编译工具链。用户可以参考下文<a class="reference external" href="#配置交叉编译参数">配置交叉编译参数</a>章节,根据个人的需求修改定制Docker容器所执行的脚本。编译安装结束之后,PaddlePaddle的C-API库将被安装到<code class="docutils literal"><span class="pre">$PWD/install_android</span></code>目录,所依赖的第三方库同时也被安装到<code class="docutils literal"><span class="pre">$PWD/install_android/third_party</span></code>目录。</p> <p>执行上述<code class="docutils literal"><span class="pre">docker</span> <span class="pre">run</span></code>命令时,容器默认执行<a class="reference external" href="https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/scripts/docker/build_android.sh">paddle/scripts/docker/build_android.sh</a>脚本。该脚本中记录了交叉编译Android版PaddlePaddle库常用的CMake配置,并且会根据<code class="docutils literal"><span class="pre">ANDROID_ABI</span></code><code class="docutils literal"><span class="pre">ANDROID_API</span></code>自动构建独立工具链、进行编译和安装。由于arm64架构要求Android API不小于21。因此当<code class="docutils literal"><span class="pre">ANDROID_ABI=arm64-v8a</span></code><code class="docutils literal"><span class="pre">ANDROID_API&lt;21</span></code>时,Docker容器中将默认使用<code class="docutils literal"><span class="pre">Android</span> <span class="pre">API</span> <span class="pre">21</span></code>的编译工具链。用户可以参考下文<a class="reference external" href="#配置交叉编译参数">配置交叉编译参数</a>章节,根据个人的需求修改定制Docker容器所执行的脚本。编译安装结束之后,PaddlePaddle的C-API库将被安装到<code class="docutils literal"><span class="pre">$PWD/install_android</span></code>目录,所依赖的第三方库同时也被安装到<code class="docutils literal"><span class="pre">$PWD/install_android/third_party</span></code>目录。</p>
</div> </div>
</div> </div>
...@@ -349,7 +353,12 @@ unzip -q android-ndk-r14b-linux-x86_64.zip ...@@ -349,7 +353,12 @@ unzip -q android-ndk-r14b-linux-x86_64.zip
<span class="o">..</span> <span class="o">..</span>
</pre></div> </pre></div>
</div> </div>
<p>用户还可根据自己的需求设置其他编译参数。比如希望最小化生成的库的大小,可以设置<code class="docutils literal"><span class="pre">CMAKE_BUILD_TYPE</span></code><code class="docutils literal"><span class="pre">MinSizeRel</span></code>;若希望最快的执行速度,则可设置<code class="docutils literal"><span class="pre">CMAKE_BUILD_TYPE</span></code><code class="docutils literal"><span class="pre">Release</span></code>。亦可以通过手动设置<code class="docutils literal"><span class="pre">CMAKE_C/CXX_FLAGS</span></code>来影响PaddlePaddle的编译过程。</p> <p>用户还可根据自己的需求设置其他编译参数。</p>
<ul class="simple">
<li>设置<code class="docutils literal"><span class="pre">CMAKE_BUILD_TYPE</span></code><code class="docutils literal"><span class="pre">MinSizeRel</span></code>,最小化生成的库的大小。</li>
<li>设置<code class="docutils literal"><span class="pre">CMAKE_BUILD_TYPE</span></code><code class="docutils literal"><span class="pre">Release</span></code>,获得最快的执行速度,</li>
<li>用户亦可以通过手动设置<code class="docutils literal"><span class="pre">CMAKE_C/CXX_FLAGS</span></code>来影响PaddlePaddle的编译过程。</li>
</ul>
<p><strong>性能TIPS</strong>,为了达到最快的计算速度,在CMake参数配置上,有以下建议:</p> <p><strong>性能TIPS</strong>,为了达到最快的计算速度,在CMake参数配置上,有以下建议:</p>
<ul class="simple"> <ul class="simple">
<li>设置<code class="docutils literal"><span class="pre">CMAKE_BUILD_TYPE</span></code><code class="docutils literal"><span class="pre">Release</span></code></li> <li>设置<code class="docutils literal"><span class="pre">CMAKE_BUILD_TYPE</span></code><code class="docutils literal"><span class="pre">Release</span></code></li>
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册