paddle/majel shouldn't depend on other parts of Paddle
Created by: wangkuiyi
I tried to build paddle/majel in following steps:
cd ~/work/paddle
git checkout develop
git pull
docker build -t paddle:dev .
docker run --rm -it -v $PWD:/paddle paddle:dev /bin/bash
Then in the development container:
cd /paddle/build
rm CMakeCache*
cmake -DCUDNN_ROOT=/usr/ ..
make -j10 float16_test
where float16_test
is a newly added module in paddle/majel/float16_test.cu
.
This modules doesn't depend on any other part of Paddle. But the above make
command builds Paddle before it builds float16_test
. I got log messages include the following:
[ 17%] Completed 'openblas'
[ 19%] Built target openblas
[ 19%] Generating ParameterServerConfig.pb.h, ParameterServerConfig.pb.cc
[ 20%] Generating DataConfig.pb.h, DataConfig.pb.cc
Scanning dependencies of target gen_proto_cpp
[ 20%] Generating DataFormat.pb.h, DataFormat.pb.cc
[ 20%] Generating ModelConfig.pb.h, ModelConfig.pb.cc
[ 20%] Generating ParameterService.pb.h, ParameterService.pb.cc
[ 20%] Generating ParameterConfig.pb.h, ParameterConfig.pb.cc
[ 22%] Generating TrainerConfig.pb.h, TrainerConfig.pb.cc
[ 22%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_table_apply.cu.o
[ 22%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_perturbation_util.cu.o
[ 22%] Generating DataConfig.pb.h, DataConfig.pb.cc
[ 22%] Generating DataFormat.pb.h, DataFormat.pb.cc
[ 22%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_cuda_aggregate.cu.o
[ 24%] Generating ModelConfig.pb.h, ModelConfig.pb.cc
[ 24%] Generating ParameterService.pb.h, ParameterService.pb.cc
[ 25%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_cuda_matrix.cu.o
[ 25%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_cuda_cnn.cu.o
[ 25%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_cuda_sparse.cu.o
Scanning dependencies of target paddle_proto
[ 25%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_cuda_lstm.cu.o
[ 25%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_top_k.cu.o
[ 25%] Built target gen_proto_cpp
[ 27%] Building NVCC (Device) object paddle/cuda/CMakeFiles/paddle_cuda.dir/src/paddle_cuda_generated_hl_batch_transpose.cu.o
[ 27%] Building CXX object proto/CMakeFiles/paddle_proto.dir/DataConfig.pb.cc.o
[ 27%] Building CXX object proto/CMakeFiles/paddle_proto.dir/DataFormat.pb.cc.o
and the following:
[ 93%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/gradientmachines/RecurrentGradientMachine.cpp.o
[ 95%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/gradientmachines/ParallelNeuralNetwork.cpp.o
[ 95%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/gradientmachines/NeuralNetwork.cpp.o
[ 95%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/gradientmachines/MultiNetwork.cpp.o
[ 95%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/gradientmachines/MultiGradientMachine.cpp.o
[ 95%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/gradientmachines/GradientMachineMode.cpp.o
[ 96%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/gradientmachines/GradientMachine.cpp.o
[ 96%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/evaluators/Evaluator.cpp.o
[ 96%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/evaluators/CTCErrorEvaluator.cpp.o
[ 96%] Building CXX object paddle/gserver/CMakeFiles/paddle_gserver.dir/evaluators/ChunkEvaluator.cpp.o