You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.3 KiB
91 lines
2.3 KiB
4 years ago
|
Paddle for Linux-musl Usage Guide
|
||
|
===========================================
|
||
|
|
||
|
# introduction
|
||
|
Paddle can be built for linux-musl such as alpine, and be used in libos-liked SGX TEE environment. Currently supported commericial product TEE Scone, and community maintanced TEE Occlum. We also working on to support open source TEE Graphene.
|
||
|
|
||
|
|
||
|
# build automaticly
|
||
|
1. clone paddle source from github
|
||
|
|
||
|
```bash
|
||
|
git clone https://github.com/PaddlePaddle/Paddle.git
|
||
|
```
|
||
|
|
||
|
2. setup build directory
|
||
|
|
||
|
```bash
|
||
|
# enter paddle directory
|
||
|
cd ./Paddle
|
||
|
|
||
|
# create and enter building directory
|
||
|
mkdir -p build && cd build
|
||
|
```
|
||
|
|
||
|
3. build docker for compiling. use environment HTTP_PROXY/HTTPS_PROXY for proxy setup.
|
||
|
|
||
|
```bash
|
||
|
# setup proxy address
|
||
|
export HTTP_PROXY='http://127.0.0.1:8080'
|
||
|
export HTTPS_PROXY='https://127.0.0.1:8080'
|
||
|
|
||
|
# invoke build script
|
||
|
../paddle/scripts/musl_build/build_docker.sh
|
||
|
```
|
||
|
|
||
|
4. compile paddle in previous built docker. proxy setup method is same as previous step.
|
||
|
output wheel package will save to "dist" directory.
|
||
|
|
||
|
```bash
|
||
|
# setup proxy addresss
|
||
|
export HTTP_PROXY='http://127.0.0.1:8080'
|
||
|
export HTTPS_PROXY='https://127.0.0.1:8080'
|
||
|
|
||
|
# invoke build paddle script
|
||
|
../paddle/scripts/musl_build/build_paddle.sh
|
||
|
|
||
|
# find output wheel package
|
||
|
ls dist/*.whl
|
||
|
```
|
||
|
|
||
|
# build paddle manually
|
||
|
|
||
|
1. start up the building docker, and enter the shell in the container
|
||
|
```bash
|
||
|
# checkout paddle source code
|
||
|
git clone https://github.com/PaddlePaddle/Paddle.git
|
||
|
|
||
|
# entery paddle directory
|
||
|
cd ./Paddle
|
||
|
|
||
|
# build docker image
|
||
|
../paddle/scripts/musl_build/build_docker.sh
|
||
|
|
||
|
# enter the container interactive shell
|
||
|
BUILD_AUTO=0 ../paddle/scripts/musl_build/build_paddle.sh
|
||
|
```
|
||
|
|
||
|
2. Type commands to compile source manually
|
||
|
```sh
|
||
|
# compile paddle by commands
|
||
|
# paddle is mount to /paddle directory
|
||
|
# working directory is /root
|
||
|
mkdir build && cd build
|
||
|
|
||
|
# install python requirement
|
||
|
pip install -r /paddle/python/requirements.txt
|
||
|
|
||
|
# configure project with cmake
|
||
|
cmake /paddle -DWITH_MUSL=ON DWITH_CRYPTO=OFF -DWITH_MKL=OFF -DWITH_GPU=OFF -DWITH_TESTING=OFF
|
||
|
|
||
|
# run the make to build project
|
||
|
make
|
||
|
```
|
||
|
|
||
|
# files
|
||
|
- build_docker.sh: docker building script
|
||
|
- build_paddle.sh: paddle building script
|
||
|
- build_inside.sh: build_paddle.sh will invoke this script inside the docker for compiling.
|
||
|
- config.sh: build config script for configure compiling option setting.
|
||
|
- Dockerfile: build docker defination file.
|