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.
Paddle/paddle/scripts/musl_build
chen zhiyu 953302d9eb
add musl docker build script (#28027)
4 years ago
..
Dockerfile add musl docker build script (#28027) 4 years ago
README.md add musl docker build script (#28027) 4 years ago
build_docker.sh add musl docker build script (#28027) 4 years ago
build_inside.sh add musl docker build script (#28027) 4 years ago
build_paddle.sh add musl docker build script (#28027) 4 years ago
config.sh add musl docker build script (#28027) 4 years ago

README.md

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
git clone https://github.com/PaddlePaddle/Paddle.git
  1. setup build directory
# enter paddle directory
cd  ./Paddle

# create and enter building directory
mkdir -p build && cd build
  1. build docker for compiling. use environment HTTP_PROXY/HTTPS_PROXY for proxy setup.
# 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
  1. compile paddle in previous built docker. proxy setup method is same as previous step. output wheel package will save to "dist" directory.
# 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
# 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
  1. Type commands to compile source manually
# 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.