From fd5c77002bf8c7ad3011271a65c2f9609454e549 Mon Sep 17 00:00:00 2001 From: zhuoyuan <chenzhuoyuan07@gmail.com> Date: Tue, 7 Feb 2017 15:55:46 -0800 Subject: [PATCH 01/52] light version of cnn for MNIST --- demo/mnist/light_mnist.py | 71 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 demo/mnist/light_mnist.py diff --git a/demo/mnist/light_mnist.py b/demo/mnist/light_mnist.py new file mode 100644 index 0000000000..271f73cd4d --- /dev/null +++ b/demo/mnist/light_mnist.py @@ -0,0 +1,71 @@ +from paddle.trainer_config_helpers import * + +is_predict = get_config_arg("is_predict", bool, False) + +####################Data Configuration ################## + +if not is_predict: + data_dir = './data/' + define_py_data_sources2( + train_list=data_dir + 'train.list', + test_list=data_dir + 'test.list', + module='mnist_provider', + obj='process') + +######################Algorithm Configuration ############# +# settings( +# batch_size=128, +# learning_rate=0.1 / 128.0, +# learning_method=MomentumOptimizer(0.9), +# regularization=L2Regularization(0.0005 * 128)) +settings( + batch_size=50, + learning_rate=0.001, + learning_method=AdamOptimizer()) + +#######################Network Configuration ############# + +data_size = 1 * 28 * 28 +label_size = 10 +img = data_layer(name='pixel', size=data_size) + +# small_vgg is predined in trainer_config_helpers.network +# predict = small_vgg(input_image=img, num_channels=1, num_classes=label_size) + +# light cnn +def light_cnn(input_image, num_channels, num_classes): + def __light__(ipt, num_filter=128, times=1, conv_filter_size=3, dropouts=0, num_channels_=None): + return img_conv_group( + input=ipt, + num_channels=num_channels_, + pool_size=2, + pool_stride=2, + conv_padding=0, + conv_num_filter=[num_filter] * times, + conv_filter_size=conv_filter_size, + conv_act=ReluActivation(), + conv_with_batchnorm=True, + conv_batchnorm_drop_rate=dropouts, + pool_type=MaxPooling()) + + tmp = __light__(input_image, num_filter=128, num_channels_=num_channels) + tmp = __light__(tmp, num_filter=128) + tmp = __light__(tmp, num_filter=128) + tmp = __light__(tmp, num_filter=128, conv_filter_size=1) + + #tmp = img_pool_layer(input=tmp, stride=2, pool_size=2, pool_type=MaxPooling()) + #tmp = dropout_layer(input=tmp, dropout_rate=0.5) + tmp = fc_layer(input=tmp, size = num_classes, act=SoftmaxActivation()) + # tmp = fc_layer(input=tmp, size=512, layer_attr=ExtraAttr(drop_rate=0.5), act=LinearActivation()) + # tmp = batch_norm_layer(input=tmp, act=ReluActivation()) + # return fc_layer(input=tmp, size=num_classes, act=SoftmaxActivation()) + return tmp + +predict = light_cnn(input_image=img, num_channels=1, num_classes=label_size) + +if not is_predict: + lbl = data_layer(name="label", size=label_size) + inputs(img, lbl) + outputs(classification_cost(input=predict, label=lbl)) +else: + outputs(predict) From bc8ba1de750637773052892c5c008f30cd998844 Mon Sep 17 00:00:00 2001 From: zhuoyuan <chenzhuoyuan07@gmail.com> Date: Tue, 7 Feb 2017 16:02:35 -0800 Subject: [PATCH 02/52] modify light mnist file --- demo/mnist/light_mnist.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/demo/mnist/light_mnist.py b/demo/mnist/light_mnist.py index 271f73cd4d..466cc2e2f5 100644 --- a/demo/mnist/light_mnist.py +++ b/demo/mnist/light_mnist.py @@ -53,12 +53,7 @@ def light_cnn(input_image, num_channels, num_classes): tmp = __light__(tmp, num_filter=128) tmp = __light__(tmp, num_filter=128, conv_filter_size=1) - #tmp = img_pool_layer(input=tmp, stride=2, pool_size=2, pool_type=MaxPooling()) - #tmp = dropout_layer(input=tmp, dropout_rate=0.5) tmp = fc_layer(input=tmp, size = num_classes, act=SoftmaxActivation()) - # tmp = fc_layer(input=tmp, size=512, layer_attr=ExtraAttr(drop_rate=0.5), act=LinearActivation()) - # tmp = batch_norm_layer(input=tmp, act=ReluActivation()) - # return fc_layer(input=tmp, size=num_classes, act=SoftmaxActivation()) return tmp predict = light_cnn(input_image=img, num_channels=1, num_classes=label_size) From cf437a89920e66d9193b5386c8223d8089d4f6c2 Mon Sep 17 00:00:00 2001 From: zhuoyuan <chenzhuoyuan07@gmail.com> Date: Tue, 7 Feb 2017 16:11:05 -0800 Subject: [PATCH 03/52] modified cnn of mnist light --- demo/mnist/light_mnist.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/demo/mnist/light_mnist.py b/demo/mnist/light_mnist.py index 466cc2e2f5..4e70159981 100644 --- a/demo/mnist/light_mnist.py +++ b/demo/mnist/light_mnist.py @@ -18,10 +18,7 @@ if not is_predict: # learning_rate=0.1 / 128.0, # learning_method=MomentumOptimizer(0.9), # regularization=L2Regularization(0.0005 * 128)) -settings( - batch_size=50, - learning_rate=0.001, - learning_method=AdamOptimizer()) +settings(batch_size=50, learning_rate=0.001, learning_method=AdamOptimizer()) #######################Network Configuration ############# @@ -32,9 +29,15 @@ img = data_layer(name='pixel', size=data_size) # small_vgg is predined in trainer_config_helpers.network # predict = small_vgg(input_image=img, num_channels=1, num_classes=label_size) + # light cnn def light_cnn(input_image, num_channels, num_classes): - def __light__(ipt, num_filter=128, times=1, conv_filter_size=3, dropouts=0, num_channels_=None): + def __light__(ipt, + num_filter=128, + times=1, + conv_filter_size=3, + dropouts=0, + num_channels_=None): return img_conv_group( input=ipt, num_channels=num_channels_, @@ -53,9 +56,10 @@ def light_cnn(input_image, num_channels, num_classes): tmp = __light__(tmp, num_filter=128) tmp = __light__(tmp, num_filter=128, conv_filter_size=1) - tmp = fc_layer(input=tmp, size = num_classes, act=SoftmaxActivation()) + tmp = fc_layer(input=tmp, size=num_classes, act=SoftmaxActivation()) return tmp + predict = light_cnn(input_image=img, num_channels=1, num_classes=label_size) if not is_predict: From e42c3854fa6c6683d52c19d65ca2f5e3833996c4 Mon Sep 17 00:00:00 2001 From: zhuoyuan <chenzhuoyuan07@gmail.com> Date: Wed, 8 Feb 2017 15:49:19 -0800 Subject: [PATCH 04/52] follow helin's comments --- demo/mnist/light_mnist.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/demo/mnist/light_mnist.py b/demo/mnist/light_mnist.py index 4e70159981..d796a3cc06 100644 --- a/demo/mnist/light_mnist.py +++ b/demo/mnist/light_mnist.py @@ -1,3 +1,17 @@ +# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from paddle.trainer_config_helpers import * is_predict = get_config_arg("is_predict", bool, False) @@ -13,11 +27,6 @@ if not is_predict: obj='process') ######################Algorithm Configuration ############# -# settings( -# batch_size=128, -# learning_rate=0.1 / 128.0, -# learning_method=MomentumOptimizer(0.9), -# regularization=L2Regularization(0.0005 * 128)) settings(batch_size=50, learning_rate=0.001, learning_method=AdamOptimizer()) #######################Network Configuration ############# @@ -26,11 +35,10 @@ data_size = 1 * 28 * 28 label_size = 10 img = data_layer(name='pixel', size=data_size) -# small_vgg is predined in trainer_config_helpers.network -# predict = small_vgg(input_image=img, num_channels=1, num_classes=label_size) - - # light cnn +# A shallower cnn model: [CNN, BN, ReLU, Max-Pooling] x4 + FC x1 +# Easier to train for mnist dataset and quite efficient +# Final performance is close to deeper ones on tasks such as digital and character classification def light_cnn(input_image, num_channels, num_classes): def __light__(ipt, num_filter=128, From e43f66cd1c2187ca397a903b0dbfe06729f920c7 Mon Sep 17 00:00:00 2001 From: zhuoyuan <chenzhuoyuan07@gmail.com> Date: Wed, 8 Feb 2017 15:54:39 -0800 Subject: [PATCH 05/52] after pre-commit --- demo/mnist/light_mnist.py | 1 + 1 file changed, 1 insertion(+) diff --git a/demo/mnist/light_mnist.py b/demo/mnist/light_mnist.py index d796a3cc06..3340905435 100644 --- a/demo/mnist/light_mnist.py +++ b/demo/mnist/light_mnist.py @@ -35,6 +35,7 @@ data_size = 1 * 28 * 28 label_size = 10 img = data_layer(name='pixel', size=data_size) + # light cnn # A shallower cnn model: [CNN, BN, ReLU, Max-Pooling] x4 + FC x1 # Easier to train for mnist dataset and quite efficient From d7d2a4f7004d7fd64bece1a0f74cdd966bb7e8e0 Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Fri, 28 Apr 2017 06:35:31 +0000 Subject: [PATCH 06/52] Add cross-compiling toolchain for Android. --- CMakeLists.txt | 8 +- cmake/cross_compiling/android.cmake | 171 ++++++++++++++++++++++++++++ cmake/system.cmake | 24 +++- 3 files changed, 194 insertions(+), 9 deletions(-) create mode 100644 cmake/cross_compiling/android.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 624083b2ce..abd07297cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,17 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License +cmake_minimum_required(VERSION 3.0) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake") set(PROJ_ROOT ${CMAKE_SOURCE_DIR}) include(system) -if(ANDROID) - cmake_minimum_required(VERSION 3.7) -else() - cmake_minimum_required(VERSION 3.0) -endif() - project(paddle CXX C) find_package(Sphinx) diff --git a/cmake/cross_compiling/android.cmake b/cmake/cross_compiling/android.cmake new file mode 100644 index 0000000000..db5a753cd4 --- /dev/null +++ b/cmake/cross_compiling/android.cmake @@ -0,0 +1,171 @@ +# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This is a toolchain file for cross-compiling for Android, and the +# configuration refers to the open-source resposity: +# https://github.com/taka-no-me/android-cmake +# Most of the variables are compatible with that used in +# https://developer.android.com/ndk/guides/cmake.html +# The supported are listed belows: +# +# ANDROID_STANDALONE_TOOLCHAIN +# ANDROID_ABI +# ANDROID_NATIVE_API_LEVEL +# ANDROID_PLATFORM +# ANDROID_ARM_MODE +# ANDROID_ARM_NEON +# +# For CMake >= 3.7.0, all the settings will be delivered to CMake system +# variables to let CMake do the cross-compiling configurations itself. +# More detail of cross-compiling settings +# https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html + +IF(NOT ANDROID) + return() +ENDIF() + +# check the exist of android standalone toolchain +IF(NOT DEFINED ANDROID_STANDALONE_TOOLCHAIN) + SET(ANDROID_STANDALONE_TOOLCHAIN $ENV{ANDROID_STANDALONE_TOOLCHAIN} + CACHE PATH "Folder holds the standalone toolchain of Android NDK") +ENDIF() +IF(NOT ANDROID_STANDALONE_TOOLCHAIN) + MESSAGE(FATAL_ERROR "Set ANDROID_STANDALONE_TOOLCHAIN to use a standalone toolchain.\n" + "To cross-compile for Android, you need to:\n" + "1. Download an Android NDK from" + " https://developer.android.com/ndk/downloads/index.html\n" + "2. Setup a standalone toolchain" + " https://developer.android.google.cn/ndk/guides/standalone_toolchain.html?hl=zh-cn") +ENDIF() + +IF(DEFINED ANDROID_NATIVE_API_LEVEL) + IF(ANDROID_NATIVE_API_LEVEL MATCHES "^android-[0-9]+$") + STRING(REPLACE "android-" "" CMAKE_SYSTEM_VERSION "${CMAKE_MATCH_0}") + ELSEIF(ANDROID_NATIVE_API_LEVEL MATCHES "^[0-9]+$") + SET(CMAKE_SYSTEM_VERSION ${ANDROID_NATIVE_API_LEVEL}) + ENDIF() + SET(ANDROID_PLATFORM android-${CMAKE_SYSTEM_VERSION}) +ENDIF() + +IF(NOT DEFINED ANDROID_ABI) + SET(ANDROID_ABI "armeabi-v7a") +ENDIF() + +IF(NOT DEFINED ANDROID_ARM_MODE) + SET(ANDROID_ARM_MODE ON) +ENDIF() + +IF(NOT DEFINED ANDROID_ARM_NEON) + SET(ANDROID_ARM_NEON ON) +ENDIF() + +IF(NOT ANDROID_ARM_MODE OR ANDROID_ARM_MODE STREQUAL "thumb") + SET(ANDROID_ARM_MODE OFF) + SET(ANDROID_ARM_MODE_NAME "thumb") +ELSEIF(ANDROID_ARM_MODE OR ANDROID_ARM_MODE STREQUAL "arm") + SET(ANDROID_ARM_MODE ON) + SET(ANDROID_ARM_MODE_NAME "arm") +ENDIF() + +IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") + IF(${CMAKE_VERSION} VERSION_LESS "3.1.0") + SET(CMAKE_SYSTEM_NAME "Linux") + ENDIF() + MESSAGE(WARNING "It is recommended to use CMake >= 3.7.0 (current version: " + "${CMAKE_VERSION}), when cross-compiling for Android.") + + SET(CMAKE_SYSROOT "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot") + + IF(NOT CMAKE_SYSTEM_VERSION) + SET(ANDROID_STANDALONE_TOOLCHAIN_API "") + SET(ANDROID_API_LEVEL_H_REGEX "^[\t ]*#[\t ]*define[\t ]+__ANDROID_API__[\t ]+([0-9]+)") + FILE(STRINGS "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h" + ANDROID_API_LEVEL_H_CONTENT REGEX "${ANDROID_API_LEVEL_H_REGEX}") + IF(ANDROID_API_LEVEL_H_CONTENT MATCHES "${ANDROID_API_LEVEL_H_REGEX}") + SET(ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}") + ENDIF() + SET(CMAKE_SYSTEM_VERSION ${ANDROID_STANDALONE_TOOLCHAIN_API}) + ENDIF() + + # Toolchain + SET(ANDROID_TOOLCHAIN "gcc") + SET(ANDROID_TOOLCHAIN_ROOT ${ANDROID_STANDALONE_TOOLCHAIN}) + IF(ANDROID_ABI MATCHES "^armeabi(-v7a)?$") + SET(ANDROID_TOOLCHAIN_NAME arm-linux-androideabi) + IF(ANDROID_ABI STREQUAL "armeabi") + SET(CMAKE_SYSTEM_PROCESSOR armv5te) + ELSEIF(ANDROID_ABI STREQUAL "armeabi-v7a") + SET(CMAKE_SYSTEM_PROCESSOR armv7-a) + ENDIF() + ENDIF() + SET(ANDROID_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_NAME}-") + + SET(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc") + SET(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++") + + # Toolchain and ABI specific flags. + SET(ANDROID_COMPILER_FLAGS "-ffunction-sections -fdata-sections -finline-limit=64") + SET(ANDROID_LINKER_FLAGS "-Wl,--gc-sections") + + IF(ANDROID_ABI STREQUAL "armeabi") + LIST(APPEND ANDROID_COMPILER_FLAGS + -march=armv5te + -mtune=xscale + -msoft-float) + ENDIF() + IF(ANDROID_ABI STREQUAL "armeabi-v7a") + LIST(APPEND ANDROID_COMPILER_FLAGS + -march=armv7-a + -mfloat-abi=softfp) + IF(ANDROID_ARM_NEON) + LIST(APPEND ANDROID_COMPILER_FLAGS -mfpu=neon) + ELSE() + LIST(APPEND ANDROID_COMPILER_FLAGS -mfpu=vfpv3-d16) + ENDIF() + LIST(APPEND ANDROID_LINKER_FLAGS -Wl,--fix-cortex-a8) + ENDIF() + + IF(ANDROID_ABI MATCHES "^armeabi(-v7a)?$") + IF(ANDROID_ARM_MODE) + LIST(APPEND ANDROID_COMPILER_FLAGS -marm) + ELSE() + LIST(APPEND ANDROID_COMPILER_FLAGS -mthumb) + ENDIF() + ENDIF() + + STRING(REPLACE ";" " " ANDROID_COMPILER_FLAGS "${ANDROID_COMPILER_FLAGS}") + STRING(REPLACE ";" " " ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS}") + + SET(CMAKE_C_FLAGS "${ANDROID_COMPILER_FLAGS} ${CMAKE_C_FLAGS}" + CACHE STRING "c flags") + SET(CMAKE_CXX_FLAGS "${ANDROID_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}" + CACHE STRING "c++ flags") + SET(CMAKE_SHARED_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}" + CACHE STRING "shared linker flags") + + SET(CMAKE_POSITION_INDEPENDENT_CODE TRUE) + SET(CMAKE_EXE_LINKER_FLAGS "-pie -fPIE ${ANDROID_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}" + CACHE STRING "executable linker flags") + + MESSAGE(STATUS "Android: Targeting API '${CMAKE_SYSTEM_VERSION}' " + "with architecture '${ANDROID_ARM_MODE_NAME}', " + "ABI '${ANDROID_ABI}', and processor '${CMAKE_SYSTEM_PROCESSOR}'") + MESSAGE(STATUS "System CMAKE_C_FLAGS: " ${CMAKE_C_FLAGS}) + MESSAGE(STATUS "System CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS}) +ELSE() + SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_STANDALONE_TOOLCHAIN}) + SET(CMAKE_ANDROID_ARCH_ABI ${ANDROID_ABI}) + SET(CMAKE_ANDROID_ARM_MODE ${ANDROID_ARM_MODE}) + SET(CMAKE_ANDROID_ARM_NEON ${ANDROID_ARM_NEON}) +ENDIF() diff --git a/cmake/system.cmake b/cmake/system.cmake index 75a9d8fc25..b34b743662 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -13,9 +13,9 @@ # limitations under the License. # Detects the OS and sets appropriate variables. -# CMAKE_SYSTEM_NAME only give us a coarse-grained name, -# but the name like centos is necessary in some scenes -# to distinguish system for customization. +# CMAKE_SYSTEM_NAME only give us a coarse-grained name of the OS CMake is +# building for, but the host processor name like centos is necessary +# in some scenes to distinguish system for customization. # # for instance, protobuf libs path is <install_dir>/lib64 # on CentOS, but <install_dir>/lib on other systems. @@ -72,12 +72,30 @@ MARK_AS_ADVANCED(HOST_SYSTEM CPU_CORES) MESSAGE(STATUS "Found Paddle host system: ${HOST_SYSTEM}") MESSAGE(STATUS "Found Paddle host system's CPU: ${CPU_CORES} cores") +# configuration for cross-compiling IF(DEFINED CMAKE_SYSTEM_NAME) IF(${CMAKE_SYSTEM_NAME} STREQUAL "Android") SET(ANDROID TRUE) + INCLUDE(cross_compiling/android) ENDIF() ENDIF() +# suffix on different os +IF(WIN32) + SET(SHARED_LIBRARY_SUFFIX ".dll") + SET(STATIC_LIBRARY_SUFFIX ".lib") + SET(EXECUTABLE_SUFFIX ".exe") +ELSE(WIN32) + IF(APPLE) + SET(SHARED_LIBRARY_SUFFIX ".dylib") + ELSE(APPLE) + SET(SHARED_LIBRARY_SUFFIX ".so") + ENDIF(APPLE) + + SET(STATIC_LIBRARY_SUFFIX ".a") + SET(EXECUTABLE_SUFFIX "") +ENDIF(WIN32) + # external dependencies log output SET(EXTERNAL_PROJECT_LOG_ARGS LOG_DOWNLOAD 0 # Wrap download in script to log output From c6090035cee2d38fddc01f08ddf73a788b9c6cff Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Fri, 28 Apr 2017 06:36:31 +0000 Subject: [PATCH 07/52] Support the auto-compiling for host protoc when cross-compiling. --- cmake/cross_compiling/android.cmake | 19 ++++- cmake/external/protobuf.cmake | 105 ++++++++++++++++++---------- 2 files changed, 83 insertions(+), 41 deletions(-) diff --git a/cmake/cross_compiling/android.cmake b/cmake/cross_compiling/android.cmake index db5a753cd4..4dd81bf29b 100644 --- a/cmake/cross_compiling/android.cmake +++ b/cmake/cross_compiling/android.cmake @@ -110,9 +110,22 @@ IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") ENDIF() ENDIF() SET(ANDROID_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_NAME}-") - - SET(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc") - SET(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++") + + IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}gcc") + SET(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc") + ELSE() + MESSAGE(FATAL_ERROR "Cannot find C compiler: ${ANDROID_TOOLCHAIN_PREFIX}gcc") + ENDIF() + + IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}g++") + SET(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++") + ELSE() + MESSAGE(FATAL_ERROR "Cannot find CXX compiler: ${ANDROID_TOOLCHAIN_PREFIX}g++") + ENDIF() + + IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}gfortran") + SET(CMAKE_Fortran_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gfortran") + ENDIF() # Toolchain and ABI specific flags. SET(ANDROID_COMPILER_FLAGS "-ffunction-sections -fdata-sections -finline-limit=64") diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index 2df042d226..2fc142de25 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -14,42 +14,41 @@ INCLUDE(ExternalProject) -set(PROTOBUF_VERSION 3.1) -FIND_PACKAGE(Protobuf ${PROTOBUF_VERSION}) +FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST) + SET(PROTOBUF_SOURCES_DIR ${THIRD_PARTY_PATH}/${TARGET_NAME}) + SET(PROTOBUF_INSTALL_DIR ${THIRD_PARTY_PATH}/install/${TARGET_NAME}) -IF(PROTOBUF_FOUND) - EXEC_PROGRAM(${PROTOBUF_PROTOC_EXECUTABLE} ARGS --version OUTPUT_VARIABLE PROTOBUF_VERSION) - STRING(REGEX MATCH "[0-9]+.[0-9]+" PROTOBUF_VERSION "${PROTOBUF_VERSION}") - IF (${PROTOBUF_VERSION} VERSION_LESS "3.1.0") - SET(PROTOBUF_FOUND OFF) - ENDIF() -ENDIF(PROTOBUF_FOUND) - -IF(NOT PROTOBUF_FOUND) - SET(PROTOBUF_SOURCES_DIR ${THIRD_PARTY_PATH}/protobuf) - SET(PROTOBUF_INSTALL_DIR ${THIRD_PARTY_PATH}/install/protobuf) - SET(PROTOBUF_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include" CACHE PATH "protobuf include directory." FORCE) + SET(${TARGET_NAME}_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include" PARENT_SCOPE) + SET(${TARGET_NAME}_LITE_LIBRARY + "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf-lite${STATIC_LIBRARY_SUFFIX}" + PARENT_SCOPE) + SET(${TARGET_NAME}_LIBRARY + "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf${STATIC_LIBRARY_SUFFIX}" + PARENT_SCOPE) + SET(${TARGET_NAME}_PROTOC_LIBRARY + "${PROTOBUF_INSTALL_DIR}/lib/libprotoc${STATIC_LIBRARY_SUFFIX}" + PARENT_SCOPE) + SET(${TARGET_NAME}_PROTOC_EXECUTABLE + "${PROTOBUF_INSTALL_DIR}/bin/protoc${EXECUTABLE_SUFFIX}" + PARENT_SCOPE) - IF(WIN32) - SET(PROTOBUF_LITE_LIBRARY - "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf-lite.lib" CACHE FILEPATH "protobuf lite library." FORCE) - SET(PROTOBUF_LIBRARY - "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf.lib" CACHE FILEPATH "protobuf library." FORCE) - SET(PROTOBUF_PROTOC_LIBRARY - "${PROTOBUF_INSTALL_DIR}/lib/libprotoc.lib" CACHE FILEPATH "protoc library." FORCE) - SET(PROTOBUF_PROTOC_EXECUTABLE "${PROTOBUF_INSTALL_DIR}/bin/protoc.exe" CACHE FILEPATH "protobuf executable." FORCE) - ELSE(WIN32) - SET(PROTOBUF_LITE_LIBRARY - "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf-lite.a" CACHE FILEPATH "protobuf lite library." FORCE) - SET(PROTOBUF_LIBRARY - "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf.a" CACHE FILEPATH "protobuf library." FORCE) - SET(PROTOBUF_PROTOC_LIBRARY - "${PROTOBUF_INSTALL_DIR}/lib/libprotoc.a" CACHE FILEPATH "protoc library." FORCE) - SET(PROTOBUF_PROTOC_EXECUTABLE "${PROTOBUF_INSTALL_DIR}/bin/protoc" CACHE FILEPATH "protobuf executable." FORCE) - ENDIF(WIN32) + SET(OPTIONAL_CACHE_ARGS "") + SET(OPTIONAL_ARGS "") + IF(BUILD_FOR_HOST) + SET(OPTIONAL_ARGS "-Dprotobuf_WITH_ZLIB=OFF") + ELSE() + SET(OPTIONAL_ARGS + "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" + "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" + "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}" + "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}" + "-Dprotobuf_WITH_ZLIB=ON" + "-DZLIB_ROOT:FILEPATH=${ZLIB_ROOT}") + SET(OPTIONAL_CACHE_ARGS "-DZLIB_ROOT:STRING=${ZLIB_ROOT}") + ENDIF() ExternalProject_Add( - protobuf + ${TARGET_NAME} ${EXTERNAL_PROJECT_LOG_ARGS} PREFIX ${PROTOBUF_SOURCES_DIR} UPDATE_COMMAND "" @@ -57,11 +56,9 @@ IF(NOT PROTOBUF_FOUND) GIT_REPOSITORY "https://github.com/google/protobuf.git" GIT_TAG "9f75c5aa851cd877fb0d93ccc31b8567a6706546" CONFIGURE_COMMAND - ${CMAKE_COMMAND} ${PROTOBUF_SOURCES_DIR}/src/protobuf/cmake + ${CMAKE_COMMAND} ${PROTOBUF_SOURCES_DIR}/src/${TARGET_NAME}/cmake + ${OPTIONAL_ARGS} -Dprotobuf_BUILD_TESTS=OFF - -DZLIB_ROOT:FILEPATH=${ZLIB_ROOT} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PROTOBUF_INSTALL_DIR} @@ -71,10 +68,42 @@ IF(NOT PROTOBUF_FOUND) -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DZLIB_ROOT:STRING=${ZLIB_ROOT} + ${OPTIONAL_CACHE_ARGS} ) - LIST(APPEND external_project_dependencies protobuf) + LIST(APPEND external_project_dependencies ${TARGET_NAME} PARENT_SCOPE) +ENDFUNCTION() + +IF(NOT CMAKE_CROSSCOMPILING) + SET(PROTOBUF_VERSION 3.1) + FIND_PACKAGE(Protobuf ${PROTOBUF_VERSION}) + + IF(PROTOBUF_FOUND) + EXEC_PROGRAM(${PROTOBUF_PROTOC_EXECUTABLE} ARGS --version OUTPUT_VARIABLE PROTOBUF_VERSION) + STRING(REGEX MATCH "[0-9]+.[0-9]+" PROTOBUF_VERSION "${PROTOBUF_VERSION}") + IF (${PROTOBUF_VERSION} VERSION_LESS "3.1.0") + SET(PROTOBUF_FOUND OFF) + ENDIF() + ENDIF(PROTOBUF_FOUND) +ELSE() + build_protobuf(protobuf_host TRUE) + SET(PROTOBUF_PROTOC_EXECUTABLE ${protobuf_host_PROTOC_EXECUTABLE} + CACHE FILEPATH "protobuf executable." FORCE) +ENDIF() + +IF(NOT PROTOBUF_FOUND) + build_protobuf(protobuf FALSE) + SET(PROTOBUF_INCLUDE_DIR ${protobuf_INCLUDE_DIR} + CACHE PATH "protobuf include directory." FORCE) + IF(NOT CMAKE_CROSSCOMPILING) + SET(PROTOBUF_PROTOC_EXECUTABLE ${protobuf_PROTOC_EXECUTABLE} + CACHE FILEPATH "protobuf executable." FORCE) + ENDIF() + SET(PROTOBUF_LITE_LIBRARY ${protobuf_LITE_LIBRARY} CACHE FILEPATH "protobuf lite library." FORCE) + SET(PROTOBUF_LIBRARY ${protobuf_LIBRARY} CACHE FILEPATH "protobuf library." FORCE) + SET(PROTOBUF_PROTOC_LIBRARY ${protobuf_PROTOC_LIBRARY} CACHE FILEPATH "protoc library." FORCE) ENDIF(NOT PROTOBUF_FOUND) +MESSAGE(STATUS "Protobuf protoc executable: ${PROTOBUF_PROTOC_EXECUTABLE}") +MESSAGE(STATUS "Protobuf library: ${PROTOBUF_LIBRARY}") INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR}) From 285daf91a5a2acd0153dc3e0d9aa30da8f47dc6d Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Fri, 28 Apr 2017 10:01:16 +0000 Subject: [PATCH 08/52] Support the auto-compiling for openblas when cross-compiling for Android. --- cmake/external/openblas.cmake | 91 ++++++++++++++++++++--------------- cmake/system.cmake | 4 +- 2 files changed, 54 insertions(+), 41 deletions(-) diff --git a/cmake/external/openblas.cmake b/cmake/external/openblas.cmake index 92ea23c763..c5d457d3e0 100644 --- a/cmake/external/openblas.cmake +++ b/cmake/external/openblas.cmake @@ -21,65 +21,76 @@ IF(NOT ${CBLAS_FOUND}) SET(CBLAS_INSTALL_DIR ${THIRD_PARTY_PATH}/install/openblas) SET(CBLAS_INC_DIR "${CBLAS_INSTALL_DIR}/include" CACHE PATH "openblas include directory." FORCE) - IF(WIN32) - SET(CBLAS_LIBRARIES "${CBLAS_INSTALL_DIR}/lib/openblas.lib" CACHE FILEPATH "openblas library." FORCE) - ELSE(WIN32) - SET(CBLAS_LIBRARIES "${CBLAS_INSTALL_DIR}/lib/libopenblas.a" CACHE FILEPATH "openblas library" FORCE) - ENDIF(WIN32) + SET(CBLAS_LIBRARIES "${CBLAS_INSTALL_DIR}/lib/${LIBRARY_PREFIX}openblas${STATIC_LIBRARY_SUFFIX}" + CACHE FILEPATH "openblas library." FORCE) - IF(CMAKE_COMPILER_IS_GNUCC) - ENABLE_LANGUAGE(Fortran) - if (NOT CMAKE_Fortran_COMPILER_VERSION) - # cmake < 3.4 cannot get CMAKE_Fortran_COMPILER_VERSION directly. - execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -dumpversion - OUTPUT_VARIABLE CMAKE_Fortran_COMPILER_VERSION) - endif() - string(REGEX MATCHALL "[0-9]+" Fortran_VERSION ${CMAKE_Fortran_COMPILER_VERSION}) - list(GET Fortran_VERSION 0 Fortran_MAJOR) - list(GET Fortran_VERSION 1 Fortran_MINOR) - find_library(GFORTRAN_LIBRARY NAMES gfortran PATHS - /lib - /usr/lib - /usr/lib/gcc/x86_64-linux-gnu/${Fortran_MAJOR}.${Fortran_MINOR}/ - /usr/lib/gcc/x86_64-linux-gnu/${Fortran_MAJOR}/) - if (NOT GFORTRAN_LIBRARY) - message(FATAL_ERROR "Cannot found gfortran library which it is used by openblas") - endif() - find_package(Threads REQUIRED) - LIST(APPEND CBLAS_LIBRARIES ${GFORTRAN_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) - ENDIF(CMAKE_COMPILER_IS_GNUCC) + # check fortran compiler and library + IF(NOT ANDROID) + IF(CMAKE_COMPILER_IS_GNUCC) + ENABLE_LANGUAGE(Fortran) + if (NOT CMAKE_Fortran_COMPILER_VERSION) + # cmake < 3.4 cannot get CMAKE_Fortran_COMPILER_VERSION directly. + execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -dumpversion + OUTPUT_VARIABLE CMAKE_Fortran_COMPILER_VERSION) + endif() + string(REGEX MATCHALL "[0-9]+" Fortran_VERSION ${CMAKE_Fortran_COMPILER_VERSION}) + list(GET Fortran_VERSION 0 Fortran_MAJOR) + list(GET Fortran_VERSION 1 Fortran_MINOR) + find_library(GFORTRAN_LIBRARY NAMES gfortran PATHS + /lib + /usr/lib + /usr/lib/gcc/x86_64-linux-gnu/${Fortran_MAJOR}.${Fortran_MINOR}/ + /usr/lib/gcc/x86_64-linux-gnu/${Fortran_MAJOR}/) + if (NOT GFORTRAN_LIBRARY) + message(FATAL_ERROR "Cannot found gfortran library which it is used by openblas") + endif() + find_package(Threads REQUIRED) + LIST(APPEND CBLAS_LIBRARIES ${GFORTRAN_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) + ENDIF(CMAKE_COMPILER_IS_GNUCC) - IF(NOT CMAKE_Fortran_COMPILER) - MESSAGE(FATAL_ERROR "To build lapack in libopenblas, " - "you need to set gfortran compiler: cmake .. -DCMAKE_Fortran_COMPILER=...") - ENDIF(NOT CMAKE_Fortran_COMPILER) + IF(NOT CMAKE_Fortran_COMPILER) + MESSAGE(FATAL_ERROR "To build lapack in libopenblas, " + "you need to set gfortran compiler: cmake .. -DCMAKE_Fortran_COMPILER=...") + ENDIF(NOT CMAKE_Fortran_COMPILER) - ADD_DEFINITIONS(-DPADDLE_USE_LAPACK) + ADD_DEFINITIONS(-DPADDLE_USE_LAPACK) + + SET(OPENBLAS_COMMIT "v0.2.19") + SET(OPENBLAS_ARGS FC=${CMAKE_Fortran_COMPILER} DYNAMIC_ARCH=1 libs netlib) + SET(HOST_C_COMPILER ${CMAKE_C_COMPILER}) + ELSE() + SET(OPENBLAS_COMMIT "b5c96fcfcdc82945502a2303116a64d89985daf5") + SET(OPTIONAL_ARGS TARGET=ARMV7 ARM_SOFTFP_ABI=1 NOFORTRAN=1 USE_THREAD=0 libs) + SET(HOST_C_COMPILER gcc) + ENDIF() ExternalProject_Add( openblas ${EXTERNAL_PROJECT_LOG_ARGS} GIT_REPOSITORY https://github.com/xianyi/OpenBLAS.git - GIT_TAG v0.2.19 + GIT_TAG ${OPENBLAS_COMMIT} PREFIX ${CBLAS_SOURCES_DIR} INSTALL_DIR ${CBLAS_INSTALL_DIR} BUILD_IN_SOURCE 1 - BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} FC=${CMAKE_Fortran_COMPILER} CC=${CMAKE_C_COMPILER} HOSTCC=${CMAKE_C_COMPILER} DYNAMIC_ARCH=1 NO_SHARED=1 libs netlib + BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} CC=${CMAKE_C_COMPILER} HOSTCC=${HOST_C_COMPILER} NO_SHARED=1 ${OPTIONAL_ARGS} INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install NO_SHARED=1 PREFIX=<INSTALL_DIR> UPDATE_COMMAND "" CONFIGURE_COMMAND "" ) - ExternalProject_Add_Step( - openblas lapacke_install - COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h" "${CBLAS_INSTALL_DIR}/include/lapacke_mangling.h" - COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke.h" "${CBLAS_INSTALL_DIR}/include/lapacke.h" - COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_config.h" "${CBLAS_INSTALL_DIR}/include/lapacke_config.h" - COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_utils.h" "${CBLAS_INSTALL_DIR}/include/lapacke_utils.h" - DEPENDEES install + IF(NOT ANDROID) + ExternalProject_Add_Step( + openblas lapacke_install + COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h" "${CBLAS_INSTALL_DIR}/include/lapacke_mangling.h" + COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke.h" "${CBLAS_INSTALL_DIR}/include/lapacke.h" + COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_config.h" "${CBLAS_INSTALL_DIR}/include/lapacke_config.h" + COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_utils.h" "${CBLAS_INSTALL_DIR}/include/lapacke_utils.h" + DEPENDEES install ) + ENDIF() LIST(APPEND external_project_dependencies openblas) ENDIF(NOT ${CBLAS_FOUND}) +MESSAGE(STATUS "BLAS library: ${CBLAS_LIBRARIES}") INCLUDE_DIRECTORIES(${CBLAS_INC_DIR}) diff --git a/cmake/system.cmake b/cmake/system.cmake index b34b743662..22f74b2e37 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -80,12 +80,14 @@ IF(DEFINED CMAKE_SYSTEM_NAME) ENDIF() ENDIF() -# suffix on different os +# prefix and suffix on different os IF(WIN32) + SET(LIBRARY_PREFIX "") SET(SHARED_LIBRARY_SUFFIX ".dll") SET(STATIC_LIBRARY_SUFFIX ".lib") SET(EXECUTABLE_SUFFIX ".exe") ELSE(WIN32) + SET(LIBRARY_PREFIX "lib") IF(APPLE) SET(SHARED_LIBRARY_SUFFIX ".dylib") ELSE(APPLE) From 39f9056c775d4a46d2a5785266517e659d1f24ee Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Fri, 28 Apr 2017 11:17:12 +0000 Subject: [PATCH 09/52] Config HOST_C/CXX_COMPILER for cross-compiling. --- cmake/cross_compiling/android.cmake | 10 +++--- cmake/cross_compiling/host.cmake | 49 +++++++++++++++++++++++++++++ cmake/external/openblas.cmake | 6 ++-- cmake/system.cmake | 1 + 4 files changed, 57 insertions(+), 9 deletions(-) create mode 100644 cmake/cross_compiling/host.cmake diff --git a/cmake/cross_compiling/android.cmake b/cmake/cross_compiling/android.cmake index 4dd81bf29b..3b13fca515 100644 --- a/cmake/cross_compiling/android.cmake +++ b/cmake/cross_compiling/android.cmake @@ -112,19 +112,19 @@ IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") SET(ANDROID_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_NAME}-") IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}gcc") - SET(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc") + SET(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc" CACHE PATH "C compiler") ELSE() - MESSAGE(FATAL_ERROR "Cannot find C compiler: ${ANDROID_TOOLCHAIN_PREFIX}gcc") + MESSAGE(FATAL_ERROR "Cannot found C compiler: ${ANDROID_TOOLCHAIN_PREFIX}gcc") ENDIF() IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}g++") - SET(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++") + SET(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++" CACHE PATH "CXX compiler") ELSE() - MESSAGE(FATAL_ERROR "Cannot find CXX compiler: ${ANDROID_TOOLCHAIN_PREFIX}g++") + MESSAGE(FATAL_ERROR "Cannot found CXX compiler: ${ANDROID_TOOLCHAIN_PREFIX}g++") ENDIF() IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}gfortran") - SET(CMAKE_Fortran_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gfortran") + SET(CMAKE_Fortran_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gfortran" CACHE PATH "Fortran compiler") ENDIF() # Toolchain and ABI specific flags. diff --git a/cmake/cross_compiling/host.cmake b/cmake/cross_compiling/host.cmake new file mode 100644 index 0000000000..62f3196b1e --- /dev/null +++ b/cmake/cross_compiling/host.cmake @@ -0,0 +1,49 @@ +# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# find host C compiler +IF(HOST_C_COMPILER) + SET(HOST_C_COMPILER_NAME ${HOST_C_COMPILER}) +ELSEIF(NOT $ENV{CC} STREQUAL "") + SET(HOST_C_COMPILER_NAME $ENV{CC}) +ELSE() + SET(HOST_C_COMPILER_NAME cc) +ENDIF() + +GET_FILENAME_COMPONENT(HOST_C_COMPILER_PATH ${HOST_C_COMPILER_NAME} PROGRAM) +IF(NOT HOST_C_COMPILER_PATH OR NOT EXISTS ${HOST_C_COMPILER_PATH}) + MESSAGE(FATAL_ERROR "Cannot found host C compiler, set host C compiler:\n" + "\tcmake .. -DHOST_C_COMPILER=...") +ENDIF() + +# find host CXX compiler +IF(HOST_CXX_COMPILER) + SET(HOST_CXX_COMPILER_NAME ${HOST_CXX_COMPILER}) +ELSEIF(NOT $ENV{CXX} STREQUAL "") + SET(HOST_CXX_COMPILER_NAME $ENV{CXX}) +ELSE() + SET(HOST_CXX_COMPILER_NAME c++) +ENDIF() + +GET_FILENAME_COMPONENT(HOST_CXX_COMPILER_PATH ${HOST_CXX_COMPILER_NAME} PROGRAM) +IF(NOT HOST_CXX_COMPILER_PATH OR NOT EXISTS ${HOST_CXX_COMPILER_PATH}) + MESSAGE(FATAL_ERROR "Cannot found host CXX compiler, set host CXX compiler:\n" + "\tcmake .. -DHOST_CXX_COMPILER=...") +ENDIF() + +SET(HOST_C_COMPILER ${HOST_C_COMPILER_PATH} CACHE PATH "Host C compiler") +SET(HOST_CXX_COMPILER ${HOST_CXX_COMPILER_PATH} CACHE PATH "Host CXX compiler") + +MESSAGE(STATUS "Found host C compiler: " ${HOST_C_COMPILER}) +MESSAGE(STATUS "Found host CXX compiler: " ${HOST_CXX_COMPILER}) diff --git a/cmake/external/openblas.cmake b/cmake/external/openblas.cmake index c5d457d3e0..ece0f0d444 100644 --- a/cmake/external/openblas.cmake +++ b/cmake/external/openblas.cmake @@ -57,11 +57,9 @@ IF(NOT ${CBLAS_FOUND}) SET(OPENBLAS_COMMIT "v0.2.19") SET(OPENBLAS_ARGS FC=${CMAKE_Fortran_COMPILER} DYNAMIC_ARCH=1 libs netlib) - SET(HOST_C_COMPILER ${CMAKE_C_COMPILER}) ELSE() SET(OPENBLAS_COMMIT "b5c96fcfcdc82945502a2303116a64d89985daf5") - SET(OPTIONAL_ARGS TARGET=ARMV7 ARM_SOFTFP_ABI=1 NOFORTRAN=1 USE_THREAD=0 libs) - SET(HOST_C_COMPILER gcc) + SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 ARM_SOFTFP_ABI=1 NOFORTRAN=1 USE_THREAD=0 libs) ENDIF() ExternalProject_Add( @@ -72,7 +70,7 @@ IF(NOT ${CBLAS_FOUND}) PREFIX ${CBLAS_SOURCES_DIR} INSTALL_DIR ${CBLAS_INSTALL_DIR} BUILD_IN_SOURCE 1 - BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} CC=${CMAKE_C_COMPILER} HOSTCC=${HOST_C_COMPILER} NO_SHARED=1 ${OPTIONAL_ARGS} + BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} CC=${CMAKE_C_COMPILER} NO_SHARED=1 ${OPTIONAL_ARGS} INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install NO_SHARED=1 PREFIX=<INSTALL_DIR> UPDATE_COMMAND "" CONFIGURE_COMMAND "" diff --git a/cmake/system.cmake b/cmake/system.cmake index 22f74b2e37..6c381458d9 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -74,6 +74,7 @@ MESSAGE(STATUS "Found Paddle host system's CPU: ${CPU_CORES} cores") # configuration for cross-compiling IF(DEFINED CMAKE_SYSTEM_NAME) + INCLUDE(cross_compiling/host) IF(${CMAKE_SYSTEM_NAME} STREQUAL "Android") SET(ANDROID TRUE) INCLUDE(cross_compiling/android) From af80ff94a5b56a2fc8aa32cf8b50d1e8a013a84c Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Tue, 2 May 2017 07:19:45 +0000 Subject: [PATCH 10/52] Allow the case user sets CMAKE_C_COMPILER directly instead of standalone toolchain. --- cmake/cross_compiling/android.cmake | 93 ++++++++++++++++++----------- 1 file changed, 58 insertions(+), 35 deletions(-) diff --git a/cmake/cross_compiling/android.cmake b/cmake/cross_compiling/android.cmake index 3b13fca515..0be1361635 100644 --- a/cmake/cross_compiling/android.cmake +++ b/cmake/cross_compiling/android.cmake @@ -41,7 +41,8 @@ IF(NOT DEFINED ANDROID_STANDALONE_TOOLCHAIN) CACHE PATH "Folder holds the standalone toolchain of Android NDK") ENDIF() IF(NOT ANDROID_STANDALONE_TOOLCHAIN) - MESSAGE(FATAL_ERROR "Set ANDROID_STANDALONE_TOOLCHAIN to use a standalone toolchain.\n" + MESSAGE(WARNING "It is recommened to set ANDROID_STANDALONE_TOOLCHAIN to " + "use a standalone toolchain.\n" "To cross-compile for Android, you need to:\n" "1. Download an Android NDK from" " https://developer.android.com/ndk/downloads/index.html\n" @@ -65,11 +66,6 @@ ENDIF() IF(NOT DEFINED ANDROID_ARM_MODE) SET(ANDROID_ARM_MODE ON) ENDIF() - -IF(NOT DEFINED ANDROID_ARM_NEON) - SET(ANDROID_ARM_NEON ON) -ENDIF() - IF(NOT ANDROID_ARM_MODE OR ANDROID_ARM_MODE STREQUAL "thumb") SET(ANDROID_ARM_MODE OFF) SET(ANDROID_ARM_MODE_NAME "thumb") @@ -78,6 +74,10 @@ ELSEIF(ANDROID_ARM_MODE OR ANDROID_ARM_MODE STREQUAL "arm") SET(ANDROID_ARM_MODE_NAME "arm") ENDIF() +IF(NOT DEFINED ANDROID_ARM_NEON) + SET(ANDROID_ARM_NEON ON) +ENDIF() + IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") IF(${CMAKE_VERSION} VERSION_LESS "3.1.0") SET(CMAKE_SYSTEM_NAME "Linux") @@ -85,47 +85,70 @@ IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") MESSAGE(WARNING "It is recommended to use CMake >= 3.7.0 (current version: " "${CMAKE_VERSION}), when cross-compiling for Android.") - SET(CMAKE_SYSROOT "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot") - - IF(NOT CMAKE_SYSTEM_VERSION) - SET(ANDROID_STANDALONE_TOOLCHAIN_API "") - SET(ANDROID_API_LEVEL_H_REGEX "^[\t ]*#[\t ]*define[\t ]+__ANDROID_API__[\t ]+([0-9]+)") - FILE(STRINGS "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h" - ANDROID_API_LEVEL_H_CONTENT REGEX "${ANDROID_API_LEVEL_H_REGEX}") - IF(ANDROID_API_LEVEL_H_CONTENT MATCHES "${ANDROID_API_LEVEL_H_REGEX}") - SET(ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}") + IF(ANDROID_STANDALONE_TOOLCHAIN) + SET(CMAKE_SYSROOT "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot") + + IF(NOT CMAKE_SYSTEM_VERSION) + SET(ANDROID_STANDALONE_TOOLCHAIN_API "") + SET(ANDROID_API_LEVEL_H_REGEX "^[\t ]*#[\t ]*define[\t ]+__ANDROID_API__[\t ]+([0-9]+)") + FILE(STRINGS "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h" + ANDROID_API_LEVEL_H_CONTENT REGEX "${ANDROID_API_LEVEL_H_REGEX}") + IF(ANDROID_API_LEVEL_H_CONTENT MATCHES "${ANDROID_API_LEVEL_H_REGEX}") + SET(ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}") + ENDIF() + SET(CMAKE_SYSTEM_VERSION ${ANDROID_STANDALONE_TOOLCHAIN_API}) ENDIF() - SET(CMAKE_SYSTEM_VERSION ${ANDROID_STANDALONE_TOOLCHAIN_API}) - ENDIF() - # Toolchain - SET(ANDROID_TOOLCHAIN "gcc") - SET(ANDROID_TOOLCHAIN_ROOT ${ANDROID_STANDALONE_TOOLCHAIN}) - IF(ANDROID_ABI MATCHES "^armeabi(-v7a)?$") - SET(ANDROID_TOOLCHAIN_NAME arm-linux-androideabi) - IF(ANDROID_ABI STREQUAL "armeabi") - SET(CMAKE_SYSTEM_PROCESSOR armv5te) - ELSEIF(ANDROID_ABI STREQUAL "armeabi-v7a") - SET(CMAKE_SYSTEM_PROCESSOR armv7-a) + # Toolchain + SET(ANDROID_TOOLCHAIN "gcc") + SET(ANDROID_TOOLCHAIN_ROOT ${ANDROID_STANDALONE_TOOLCHAIN}) + IF(ANDROID_ABI MATCHES "^armeabi(-v7a)?$") + SET(ANDROID_TOOLCHAIN_NAME arm-linux-androideabi) + IF(ANDROID_ABI STREQUAL "armeabi") + SET(CMAKE_SYSTEM_PROCESSOR armv5te) + ELSEIF(ANDROID_ABI STREQUAL "armeabi-v7a") + SET(CMAKE_SYSTEM_PROCESSOR armv7-a) + ENDIF() ENDIF() + SET(ANDROID_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_NAME}-") ENDIF() - SET(ANDROID_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_NAME}-") - IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}gcc") - SET(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc" CACHE PATH "C compiler") + # C compiler + IF(NOT CMAKE_C_COMPILER) + SET(ANDROID_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc") ELSE() - MESSAGE(FATAL_ERROR "Cannot found C compiler: ${ANDROID_TOOLCHAIN_PREFIX}gcc") + GET_FILENAME_COMPONENT(ANDROID_C_COMPILER_PATH ${CMAKE_C_COMPILER} PROGRAM) + SET(ANDROID_C_COMPILER ${ANDROID_C_COMPILER_PATH}) + ENDIF() + IF(NOT EXISTS ${ANDROID_C_COMPILER}) + MESSAGE(FATAL_ERROR "Cannot found C compiler: ${ANDROID_C_COMPILER}") ENDIF() - IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}g++") - SET(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++" CACHE PATH "CXX compiler") + # CXX compiler + IF(NOT CMAKE_CXX_COMPILER) + SET(ANDROID_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++") ELSE() - MESSAGE(FATAL_ERROR "Cannot found CXX compiler: ${ANDROID_TOOLCHAIN_PREFIX}g++") + GET_FILENAME_COMPONENT(ANDROID_CXX_COMPILER_PATH ${CMAKE_CXX_COMPILER} PROGRAM) + SET(ANDROID_CXX_COMPILER ${ANDROID_CXX_COMPILER_PATH}) + ENDIF() + IF(NOT EXISTS ${ANDROID_CXX_COMPILER}) + MESSAGE(FATAL_ERROR "Cannot found CXX compiler: ${ANDROID_CXX_COMPILER}") ENDIF() - IF(EXISTS "${ANDROID_TOOLCHAIN_PREFIX}gfortran") - SET(CMAKE_Fortran_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gfortran" CACHE PATH "Fortran compiler") + # Fortran compiler + IF(NOT CMAKE_Fortran_COMPILER) + SET(ANDROID_Fortran_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gfortran") + ELSE() + GET_FILENAME_COMPONENT(ANDROID_Fortran_COMPILER_PATH ${CMAKE_Fortran_COMPILER}) + SET(ANDROID_Fortran_COMPILER ${ANDROID_Fortran_COMPILER_PATH}) ENDIF() + IF(NOT EXISTS ${ANDROID_Fortran_COMPILER}) + SET(ANDROID_Fortran_COMPILER "") + ENDIF() + + SET(CMAKE_C_COMPILER ${ANDROID_C_COMPILER} CACHE PATH "C compiler" FORCE) + SET(CMAKE_CXX_COMPILER ${ANDROID_CXX_COMPILER} CACHE PATH "CXX compiler" FORCE) + SET(CMAKE_Fortran_COMPILER ${ANDROID_Fortran_COMPILER} CACHE PATH "Fortran compiler" FORCE) # Toolchain and ABI specific flags. SET(ANDROID_COMPILER_FLAGS "-ffunction-sections -fdata-sections -finline-limit=64") From c914f6367689f393f8e6f0817faa2087114e94f9 Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Tue, 2 May 2017 12:12:37 +0000 Subject: [PATCH 11/52] Add toolchain for raspberry pi. --- cmake/cross_compiling/android.cmake | 41 +++++----- cmake/cross_compiling/host.cmake | 4 +- cmake/cross_compiling/raspberry_pi.cmake | 95 ++++++++++++++++++++++++ cmake/external/openblas.cmake | 13 ++-- cmake/system.cmake | 3 + 5 files changed, 126 insertions(+), 30 deletions(-) create mode 100644 cmake/cross_compiling/raspberry_pi.cmake diff --git a/cmake/cross_compiling/android.cmake b/cmake/cross_compiling/android.cmake index 0be1361635..5b73074325 100644 --- a/cmake/cross_compiling/android.cmake +++ b/cmake/cross_compiling/android.cmake @@ -17,12 +17,11 @@ # https://github.com/taka-no-me/android-cmake # Most of the variables are compatible with that used in # https://developer.android.com/ndk/guides/cmake.html -# The supported are listed belows: +# The supported variables are listed belows: # # ANDROID_STANDALONE_TOOLCHAIN # ANDROID_ABI # ANDROID_NATIVE_API_LEVEL -# ANDROID_PLATFORM # ANDROID_ARM_MODE # ANDROID_ARM_NEON # @@ -41,22 +40,21 @@ IF(NOT DEFINED ANDROID_STANDALONE_TOOLCHAIN) CACHE PATH "Folder holds the standalone toolchain of Android NDK") ENDIF() IF(NOT ANDROID_STANDALONE_TOOLCHAIN) - MESSAGE(WARNING "It is recommened to set ANDROID_STANDALONE_TOOLCHAIN to " + MESSAGE(WARNING "It is recommended to set ANDROID_STANDALONE_TOOLCHAIN to " "use a standalone toolchain.\n" "To cross-compile for Android, you need to:\n" "1. Download an Android NDK from" " https://developer.android.com/ndk/downloads/index.html\n" "2. Setup a standalone toolchain" - " https://developer.android.google.cn/ndk/guides/standalone_toolchain.html?hl=zh-cn") + "https://developer.android.google.cn/ndk/guides/standalone_toolchain.html?hl=zh-cn\n") ENDIF() -IF(DEFINED ANDROID_NATIVE_API_LEVEL) +IF(NOT DEFINED CMAKE_SYSTEM_VERSION AND ANDROID_NATIVE_API_LEVEL) IF(ANDROID_NATIVE_API_LEVEL MATCHES "^android-[0-9]+$") STRING(REPLACE "android-" "" CMAKE_SYSTEM_VERSION "${CMAKE_MATCH_0}") ELSEIF(ANDROID_NATIVE_API_LEVEL MATCHES "^[0-9]+$") SET(CMAKE_SYSTEM_VERSION ${ANDROID_NATIVE_API_LEVEL}) ENDIF() - SET(ANDROID_PLATFORM android-${CMAKE_SYSTEM_VERSION}) ENDIF() IF(NOT DEFINED ANDROID_ABI) @@ -66,13 +64,11 @@ ENDIF() IF(NOT DEFINED ANDROID_ARM_MODE) SET(ANDROID_ARM_MODE ON) ENDIF() -IF(NOT ANDROID_ARM_MODE OR ANDROID_ARM_MODE STREQUAL "thumb") - SET(ANDROID_ARM_MODE OFF) - SET(ANDROID_ARM_MODE_NAME "thumb") -ELSEIF(ANDROID_ARM_MODE OR ANDROID_ARM_MODE STREQUAL "arm") - SET(ANDROID_ARM_MODE ON) +IF(ANDROID_ARM_MODE) SET(ANDROID_ARM_MODE_NAME "arm") -ENDIF() +ELSE(ANDROID_ARM_MODE) + SET(ANDROID_ARM_MODE_NAME "thumb") +ENDIF(ANDROID_ARM_MODE) IF(NOT DEFINED ANDROID_ARM_NEON) SET(ANDROID_ARM_NEON ON) @@ -117,30 +113,27 @@ IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") IF(NOT CMAKE_C_COMPILER) SET(ANDROID_C_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gcc") ELSE() - GET_FILENAME_COMPONENT(ANDROID_C_COMPILER_PATH ${CMAKE_C_COMPILER} PROGRAM) - SET(ANDROID_C_COMPILER ${ANDROID_C_COMPILER_PATH}) + GET_FILENAME_COMPONENT(ANDROID_C_COMPILER ${CMAKE_C_COMPILER} PROGRAM) ENDIF() IF(NOT EXISTS ${ANDROID_C_COMPILER}) - MESSAGE(FATAL_ERROR "Cannot found C compiler: ${ANDROID_C_COMPILER}") + MESSAGE(FATAL_ERROR "Cannot find C compiler: ${ANDROID_C_COMPILER}") ENDIF() # CXX compiler IF(NOT CMAKE_CXX_COMPILER) SET(ANDROID_CXX_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}g++") ELSE() - GET_FILENAME_COMPONENT(ANDROID_CXX_COMPILER_PATH ${CMAKE_CXX_COMPILER} PROGRAM) - SET(ANDROID_CXX_COMPILER ${ANDROID_CXX_COMPILER_PATH}) + GET_FILENAME_COMPONENT(ANDROID_CXX_COMPILER ${CMAKE_CXX_COMPILER} PROGRAM) ENDIF() IF(NOT EXISTS ${ANDROID_CXX_COMPILER}) - MESSAGE(FATAL_ERROR "Cannot found CXX compiler: ${ANDROID_CXX_COMPILER}") + MESSAGE(FATAL_ERROR "Cannot find CXX compiler: ${ANDROID_CXX_COMPILER}") ENDIF() # Fortran compiler IF(NOT CMAKE_Fortran_COMPILER) SET(ANDROID_Fortran_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gfortran") ELSE() - GET_FILENAME_COMPONENT(ANDROID_Fortran_COMPILER_PATH ${CMAKE_Fortran_COMPILER}) - SET(ANDROID_Fortran_COMPILER ${ANDROID_Fortran_COMPILER_PATH}) + GET_FILENAME_COMPONENT(ANDROID_Fortran_COMPILER ${CMAKE_Fortran_COMPILER}) ENDIF() IF(NOT EXISTS ${ANDROID_Fortran_COMPILER}) SET(ANDROID_Fortran_COMPILER "") @@ -184,9 +177,9 @@ IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") STRING(REPLACE ";" " " ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS}") SET(CMAKE_C_FLAGS "${ANDROID_COMPILER_FLAGS} ${CMAKE_C_FLAGS}" - CACHE STRING "c flags") + CACHE STRING "C flags") SET(CMAKE_CXX_FLAGS "${ANDROID_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}" - CACHE STRING "c++ flags") + CACHE STRING "CXX flags") SET(CMAKE_SHARED_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}" CACHE STRING "shared linker flags") @@ -200,7 +193,9 @@ IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") MESSAGE(STATUS "System CMAKE_C_FLAGS: " ${CMAKE_C_FLAGS}) MESSAGE(STATUS "System CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS}) ELSE() - SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_STANDALONE_TOOLCHAIN}) + IF(ANDROID_STANDALONE_TOOLCHAIN) + SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_STANDALONE_TOOLCHAIN}) + ENDIF() SET(CMAKE_ANDROID_ARCH_ABI ${ANDROID_ABI}) SET(CMAKE_ANDROID_ARM_MODE ${ANDROID_ARM_MODE}) SET(CMAKE_ANDROID_ARM_NEON ${ANDROID_ARM_NEON}) diff --git a/cmake/cross_compiling/host.cmake b/cmake/cross_compiling/host.cmake index 62f3196b1e..14c35266ec 100644 --- a/cmake/cross_compiling/host.cmake +++ b/cmake/cross_compiling/host.cmake @@ -23,7 +23,7 @@ ENDIF() GET_FILENAME_COMPONENT(HOST_C_COMPILER_PATH ${HOST_C_COMPILER_NAME} PROGRAM) IF(NOT HOST_C_COMPILER_PATH OR NOT EXISTS ${HOST_C_COMPILER_PATH}) - MESSAGE(FATAL_ERROR "Cannot found host C compiler, set host C compiler:\n" + MESSAGE(FATAL_ERROR "Cannot find host C compiler, set host C compiler:\n" "\tcmake .. -DHOST_C_COMPILER=...") ENDIF() @@ -38,7 +38,7 @@ ENDIF() GET_FILENAME_COMPONENT(HOST_CXX_COMPILER_PATH ${HOST_CXX_COMPILER_NAME} PROGRAM) IF(NOT HOST_CXX_COMPILER_PATH OR NOT EXISTS ${HOST_CXX_COMPILER_PATH}) - MESSAGE(FATAL_ERROR "Cannot found host CXX compiler, set host CXX compiler:\n" + MESSAGE(FATAL_ERROR "Cannot find host CXX compiler, set host CXX compiler:\n" "\tcmake .. -DHOST_CXX_COMPILER=...") ENDIF() diff --git a/cmake/cross_compiling/raspberry_pi.cmake b/cmake/cross_compiling/raspberry_pi.cmake new file mode 100644 index 0000000000..bfd26f130c --- /dev/null +++ b/cmake/cross_compiling/raspberry_pi.cmake @@ -0,0 +1,95 @@ +# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This is a toolchain file for cross-compiling for Raspberry Pi. +# The supported variables are listed belows: +# +# RPI_TOOLCHAIN +# RPI_ARM_NEON +# +# Also you can set CMAKE_C/CXX_COMPILER yourself, through cmake arguments. + +IF(NOT RPI) + return() +ENDIF() + +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_VERSION 1) +SET(CMAKE_SYSTEM_PROCESSOR arm) + +# check the exist of raspberry pi toolchain +IF(NOT DEFINED RPI_TOOLCHAIN) + SET(RPI_TOOLCHAIN $ENV{RPI_TOOLCHAIN} + CACHE PATH "Folder holds the toolchain of Raspberr Pi") +ENDIF() +IF(NOT RPI_TOOLCHAIN) + MESSAGE(WARNING "It is recommended to set RPI_TOOLCHAIN to use toolchain.\n" + "To cross-compile for Raspberry Pi, you need to download the tools using:\n" + " git clone https://github.com/raspberrypi/tools\n") +ENDIF() + +IF(NOT DEFINED RPI_ARM_NEON) + SET(RPI_ARM_NEON ON) +ENDIF() + +IF(RPI_TOOLCHAIN) + SET(RPI_TOOLCHAIN_ROOT ${RPI_TOOLCHAIN}) + IF(RPI_TOOLCHAIN_ROOT MATCHES "gcc-linaro-arm-linux-gnueabihf-raspbian(-x64)?$") + # gcc-linaro-arm-linux-gnueabihf-raspbian + # gcc-linaro-arm-linux-gnueabihf-raspbian-x64 + SET(RPI_TOOLCHAIN_NAME arm-linux-gnueabihf) + ENDIF() + SET(RPI_TOOLCHAIN_PREFIX "${RPI_TOOLCHAIN_ROOT}/bin/${RPI_TOOLCHAIN_NAME}-") +ENDIF() + +# C compiler +IF(NOT CMAKE_C_COMPILER) + SET(RPI_C_COMPILER "${RPI_TOOLCHAIN_PREFIX}gcc") +ELSE() + GET_FILENAME_COMPONENT(RPI_C_COMPILER ${CMAKE_C_COMPILER} PROGRAM) +ENDIF() +IF(NOT EXISTS ${RPI_C_COMPILER}) + MESSAGE(FATAL_ERROR "Cannot find C compiler: ${RPI_C_COMPILER}") +ENDIF() + +# CXX compiler +IF(NOT CMAKE_CXX_COMPILER) + SET(RPI_CXX_COMPILER "${RPI_TOOLCHAIN_PREFIX}g++") +ELSE() + GET_FILENAME_COMPONENT(RPI_CXX_COMPILER ${CMAKE_CXX_COMPILER} PROGRAM) +ENDIF() +IF(NOT EXISTS ${RPI_CXX_COMPILER}) + MESSAGE(FATAL_ERROR "Cannot find CXX compiler: ${RPI_CXX_COMPILER}") +ENDIF() + +# Fortran compiler +IF(NOT CMAKE_Fortran_COMPILER) + SET(RPI_Fortran_COMPILER "${RPI_TOOLCHAIN_PREFIX}gfortran") +ELSE() + GET_FILENAME_COMPONENT(RPI_Fortran_COMPILER ${CMAKE_Fortran_COMPILER} PROGRAM) +ENDIF() +IF(NOT EXISTS RPI_Fortran_COMPILER) + SET(RPI_Fortran_COMPILER "") +ENDIF() + +SET(CMAKE_C_COMPILER ${RPI_C_COMPILER} CACHE PATH "C compiler" FORCE) +SET(CMAKE_CXX_COMPILER ${RPI_CXX_COMPILER} CACHE PATH "CXX compiler" FORCE) +SET(CMAKE_Fortran_COMPILER ${RPI_Fortran_COMPILER} CACHE PATH "Fortran compiler" FORCE) + +IF(RPI_ARM_NEON) + SET(RPI_C_FLAGS "${RPI_C_FLAGS} -mfpu=neon") +ENDIF() + +SET(CMAKE_C_FLAGS "${RPI_C_FLAGS} ${CMAKE_C_FLAGS}" CACHE STRING "C flags") +SET(CMAKE_CXX_FLAGS "${RPI_C_FLAGS} ${CMAKE_CXX_FLAGS}" CACHE STRING "CXX flags") diff --git a/cmake/external/openblas.cmake b/cmake/external/openblas.cmake index ece0f0d444..4ddadb9fa3 100644 --- a/cmake/external/openblas.cmake +++ b/cmake/external/openblas.cmake @@ -25,7 +25,13 @@ IF(NOT ${CBLAS_FOUND}) CACHE FILEPATH "openblas library." FORCE) # check fortran compiler and library - IF(NOT ANDROID) + IF(ANDROID) + SET(OPENBLAS_COMMIT "b5c96fcfcdc82945502a2303116a64d89985daf5") + SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 ARM_SOFTFP_ABI=1 NOFORTRAN=1 USE_THREAD=0 libs) + ELSEIF(RPI) + SET(OPENBLAS_COMMIT "v0.2.19") + SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 NOFORTRAN=1 USE_THREAD=0 libs) + ELSE() IF(CMAKE_COMPILER_IS_GNUCC) ENABLE_LANGUAGE(Fortran) if (NOT CMAKE_Fortran_COMPILER_VERSION) @@ -57,9 +63,6 @@ IF(NOT ${CBLAS_FOUND}) SET(OPENBLAS_COMMIT "v0.2.19") SET(OPENBLAS_ARGS FC=${CMAKE_Fortran_COMPILER} DYNAMIC_ARCH=1 libs netlib) - ELSE() - SET(OPENBLAS_COMMIT "b5c96fcfcdc82945502a2303116a64d89985daf5") - SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 ARM_SOFTFP_ABI=1 NOFORTRAN=1 USE_THREAD=0 libs) ENDIF() ExternalProject_Add( @@ -76,7 +79,7 @@ IF(NOT ${CBLAS_FOUND}) CONFIGURE_COMMAND "" ) - IF(NOT ANDROID) + IF(NOT ANDROID AND NOT RPI) ExternalProject_Add_Step( openblas lapacke_install COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h" "${CBLAS_INSTALL_DIR}/include/lapacke_mangling.h" diff --git a/cmake/system.cmake b/cmake/system.cmake index 6c381458d9..904652413e 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -78,6 +78,9 @@ IF(DEFINED CMAKE_SYSTEM_NAME) IF(${CMAKE_SYSTEM_NAME} STREQUAL "Android") SET(ANDROID TRUE) INCLUDE(cross_compiling/android) + ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "RPi") + SET(RPI TRUE) + INCLUDE(cross_compiling/raspberry_pi) ENDIF() ENDIF() From f2b35277b5eb77a64f354ae2bced5c09d3bd8f64 Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Wed, 3 May 2017 03:28:09 +0000 Subject: [PATCH 12/52] Fix typo. --- cmake/cross_compiling/android.cmake | 4 ++-- cmake/external/protobuf.cmake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/cross_compiling/android.cmake b/cmake/cross_compiling/android.cmake index 5b73074325..2508167147 100644 --- a/cmake/cross_compiling/android.cmake +++ b/cmake/cross_compiling/android.cmake @@ -74,8 +74,8 @@ IF(NOT DEFINED ANDROID_ARM_NEON) SET(ANDROID_ARM_NEON ON) ENDIF() -IF(${CMAKE_VERSION} VERSION_LESS "3.7.0") - IF(${CMAKE_VERSION} VERSION_LESS "3.1.0") +IF("${CMAKE_VERSION}" VERSION_LESS "3.7.0") + IF("${CMAKE_VERSION}" VERSION_LESS "3.1.0") SET(CMAKE_SYSTEM_NAME "Linux") ENDIF() MESSAGE(WARNING "It is recommended to use CMake >= 3.7.0 (current version: " diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index 9892691a31..c5dc5bee61 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -18,7 +18,7 @@ FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST) SET(PROTOBUF_SOURCES_DIR ${THIRD_PARTY_PATH}/${TARGET_NAME}) SET(PROTOBUF_INSTALL_DIR ${THIRD_PARTY_PATH}/install/${TARGET_NAME}) - SET(${TARGET_NAME}_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include" + SET(${TARGET_NAME}_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include") SET(PROTOBUF_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include" PARENT_SCOPE) SET(${TARGET_NAME}_LITE_LIBRARY "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf-lite${STATIC_LIBRARY_SUFFIX}" From e67854638832fe1c58089d2559fcb0c5321f5222 Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Wed, 3 May 2017 03:54:26 +0000 Subject: [PATCH 13/52] Change ${TARGET_NAME}_INCLUDE_DIR to PARENT_SCOPE. --- cmake/external/protobuf.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index c5dc5bee61..3e417f123b 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -18,7 +18,7 @@ FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST) SET(PROTOBUF_SOURCES_DIR ${THIRD_PARTY_PATH}/${TARGET_NAME}) SET(PROTOBUF_INSTALL_DIR ${THIRD_PARTY_PATH}/install/${TARGET_NAME}) - SET(${TARGET_NAME}_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include") + SET(${TARGET_NAME}_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include" PARENT_SCOPE) SET(PROTOBUF_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include" PARENT_SCOPE) SET(${TARGET_NAME}_LITE_LIBRARY "${PROTOBUF_INSTALL_DIR}/lib/libprotobuf-lite${STATIC_LIBRARY_SUFFIX}" From 1ddb9bf7828026f60332969c033cb247ab40b4a9 Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Wed, 3 May 2017 12:17:40 +0000 Subject: [PATCH 14/52] Delete the configuration of fortran compiler. --- cmake/cross_compiling/android.cmake | 11 ----------- cmake/cross_compiling/raspberry_pi.cmake | 11 ----------- cmake/external/protobuf.cmake | 2 +- 3 files changed, 1 insertion(+), 23 deletions(-) diff --git a/cmake/cross_compiling/android.cmake b/cmake/cross_compiling/android.cmake index 2508167147..9724c16122 100644 --- a/cmake/cross_compiling/android.cmake +++ b/cmake/cross_compiling/android.cmake @@ -129,19 +129,8 @@ IF("${CMAKE_VERSION}" VERSION_LESS "3.7.0") MESSAGE(FATAL_ERROR "Cannot find CXX compiler: ${ANDROID_CXX_COMPILER}") ENDIF() - # Fortran compiler - IF(NOT CMAKE_Fortran_COMPILER) - SET(ANDROID_Fortran_COMPILER "${ANDROID_TOOLCHAIN_PREFIX}gfortran") - ELSE() - GET_FILENAME_COMPONENT(ANDROID_Fortran_COMPILER ${CMAKE_Fortran_COMPILER}) - ENDIF() - IF(NOT EXISTS ${ANDROID_Fortran_COMPILER}) - SET(ANDROID_Fortran_COMPILER "") - ENDIF() - SET(CMAKE_C_COMPILER ${ANDROID_C_COMPILER} CACHE PATH "C compiler" FORCE) SET(CMAKE_CXX_COMPILER ${ANDROID_CXX_COMPILER} CACHE PATH "CXX compiler" FORCE) - SET(CMAKE_Fortran_COMPILER ${ANDROID_Fortran_COMPILER} CACHE PATH "Fortran compiler" FORCE) # Toolchain and ABI specific flags. SET(ANDROID_COMPILER_FLAGS "-ffunction-sections -fdata-sections -finline-limit=64") diff --git a/cmake/cross_compiling/raspberry_pi.cmake b/cmake/cross_compiling/raspberry_pi.cmake index bfd26f130c..817b39f683 100644 --- a/cmake/cross_compiling/raspberry_pi.cmake +++ b/cmake/cross_compiling/raspberry_pi.cmake @@ -73,19 +73,8 @@ IF(NOT EXISTS ${RPI_CXX_COMPILER}) MESSAGE(FATAL_ERROR "Cannot find CXX compiler: ${RPI_CXX_COMPILER}") ENDIF() -# Fortran compiler -IF(NOT CMAKE_Fortran_COMPILER) - SET(RPI_Fortran_COMPILER "${RPI_TOOLCHAIN_PREFIX}gfortran") -ELSE() - GET_FILENAME_COMPONENT(RPI_Fortran_COMPILER ${CMAKE_Fortran_COMPILER} PROGRAM) -ENDIF() -IF(NOT EXISTS RPI_Fortran_COMPILER) - SET(RPI_Fortran_COMPILER "") -ENDIF() - SET(CMAKE_C_COMPILER ${RPI_C_COMPILER} CACHE PATH "C compiler" FORCE) SET(CMAKE_CXX_COMPILER ${RPI_CXX_COMPILER} CACHE PATH "CXX compiler" FORCE) -SET(CMAKE_Fortran_COMPILER ${RPI_Fortran_COMPILER} CACHE PATH "Fortran compiler" FORCE) IF(RPI_ARM_NEON) SET(RPI_C_FLAGS "${RPI_C_FLAGS} -mfpu=neon") diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index 3e417f123b..994ba14cfa 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -76,7 +76,6 @@ FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST) ENDFUNCTION() IF(NOT CMAKE_CROSSCOMPILING) - SET(PROTOBUF_VERSION 3.1) FIND_PACKAGE(Protobuf ${PROTOBUF_VERSION}) IF(PROTOBUF_FOUND) @@ -92,6 +91,7 @@ ELSE() CACHE FILEPATH "protobuf executable." FORCE) ENDIF() +SET(PROTOBUF_VERSION 3.1) IF(NOT PROTOBUF_FOUND) build_protobuf(protobuf FALSE) SET(PROTOBUF_INCLUDE_DIR ${protobuf_INCLUDE_DIR} From 33eadfb8bd79fae054055681451a8acac17da697 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Wed, 3 May 2017 20:29:31 +0800 Subject: [PATCH 15/52] add filemanager doc --- doc/design/file_mananger/README.md | 72 ++++++++++++++++++ .../file_mananger/src/filemanager.graffle | Bin 0 -> 3656 bytes doc/design/file_mananger/src/filemanager.png | Bin 0 -> 50663 bytes 3 files changed, 72 insertions(+) create mode 100644 doc/design/file_mananger/README.md create mode 100644 doc/design/file_mananger/src/filemanager.graffle create mode 100644 doc/design/file_mananger/src/filemanager.png diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md new file mode 100644 index 0000000000..0dd7e05d24 --- /dev/null +++ b/doc/design/file_mananger/README.md @@ -0,0 +1,72 @@ +# Desgin doc: FileManager +## Objetive +在本文档中,我们设计说明了用户上传、下载、管理自己在PaddlePaddle Cloud上的文件所涉及到的模块和流程 +<image src=./src/filemanager.png width=600> + +## Module +### Client +Client是用户操作的界面,支持的命令如下 + +- ls + +```bash +ls +``` + +- cp + +```bash +cp +``` + +- sync + +```bash +sync +``` + +- mv + +```bash +mv +``` + + +### Ingress +- 在kubernets中运行 +- 做Http转发 +- 注意配置session保持 + + +### FileServer +FileServer是gorpc写的HttpServer, 用来接收Client的REST API的请求,自身由kubernets来管理。 +REST API说明 + +- file + +``` +GET /file: Get attribue of files +POST /file: Touch a file +DELETE /file: Delete a File +``` + +- chunk + +``` +GET /file/chunk: Get a chunk info +POST /file/chunk: Update a chunk +``` + +- dir + +``` +GET /dir: List all files in a directory +POST /dir: Touch a directory +DELETE /dir: Delete a directory +``` + + +## 流程 +### cp +### 断点续传 +### sync diff --git a/doc/design/file_mananger/src/filemanager.graffle b/doc/design/file_mananger/src/filemanager.graffle new file mode 100644 index 0000000000000000000000000000000000000000..68fc8224d33cbc17dfa3634284901fdc5e2cb775 GIT binary patch literal 3656 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 aZY51p#(d0=(dTjAzWP4}9#6rwX8-^_ek|Jn literal 0 HcmV?d00001 diff --git a/doc/design/file_mananger/src/filemanager.png b/doc/design/file_mananger/src/filemanager.png new file mode 100644 index 0000000000000000000000000000000000000000..661d547e414f0119728e1bb5262d0cbb446b395a GIT binary patch literal 50663 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 literal 0 HcmV?d00001 From 668a1b8bfe6067d805e6a5fbc7164eff8cf217d9 Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Thu, 4 May 2017 06:00:35 +0000 Subject: [PATCH 16/52] Correct the definition of PROTOBUF_VERSION. --- cmake/external/protobuf.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index 994ba14cfa..b61833e268 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -75,6 +75,7 @@ FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST) LIST(APPEND external_project_dependencies ${TARGET_NAME} PARENT_SCOPE) ENDFUNCTION() +SET(PROTOBUF_VERSION 3.1) IF(NOT CMAKE_CROSSCOMPILING) FIND_PACKAGE(Protobuf ${PROTOBUF_VERSION}) @@ -91,7 +92,6 @@ ELSE() CACHE FILEPATH "protobuf executable." FORCE) ENDIF() -SET(PROTOBUF_VERSION 3.1) IF(NOT PROTOBUF_FOUND) build_protobuf(protobuf FALSE) SET(PROTOBUF_INCLUDE_DIR ${protobuf_INCLUDE_DIR} From b55bde1b51926c6cf7aafeb3e07ad2d87ad8fed7 Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Thu, 4 May 2017 07:36:00 +0000 Subject: [PATCH 17/52] Fix bug of setting external_project_dependencies in cmake. --- cmake/external/protobuf.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index b61833e268..b35e6839cd 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -71,8 +71,6 @@ FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST) -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON ${OPTIONAL_CACHE_ARGS} ) - - LIST(APPEND external_project_dependencies ${TARGET_NAME} PARENT_SCOPE) ENDFUNCTION() SET(PROTOBUF_VERSION 3.1) @@ -88,12 +86,16 @@ IF(NOT CMAKE_CROSSCOMPILING) ENDIF(PROTOBUF_FOUND) ELSE() build_protobuf(protobuf_host TRUE) + LIST(APPEND external_project_dependencies protobuf_host) + SET(PROTOBUF_PROTOC_EXECUTABLE ${protobuf_host_PROTOC_EXECUTABLE} CACHE FILEPATH "protobuf executable." FORCE) ENDIF() IF(NOT PROTOBUF_FOUND) build_protobuf(protobuf FALSE) + LIST(APPEND external_project_dependencies protobuf) + SET(PROTOBUF_INCLUDE_DIR ${protobuf_INCLUDE_DIR} CACHE PATH "protobuf include directory." FORCE) IF(NOT CMAKE_CROSSCOMPILING) From 0d7d8990db3f40f2bdc5853fd2d2aa97e8161774 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Thu, 4 May 2017 16:36:53 +0800 Subject: [PATCH 18/52] add cp... --- doc/design/file_mananger/README.md | 56 ++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index 0dd7e05d24..d7aa808d6c 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -5,7 +5,7 @@ ## Module ### Client -Client是用户操作的界面,支持的命令如下 +Client是用户操作的命令行程序,支持的命令如下 - ls @@ -39,8 +39,12 @@ mv ### FileServer -FileServer是gorpc写的HttpServer, 用来接收Client的REST API的请求,自身由kubernets来管理。 -REST API说明 +功能说明: +- gorpc写的HttpServer +- 响应外部的REST API的请求 +- 在kubernets中运行 + +REST API说明: - file @@ -56,6 +60,17 @@ DELETE /file: Delete a File GET /file/chunk: Get a chunk info POST /file/chunk: Update a chunk ``` +为什么有chunk的抽象: +用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念。chunk由所在的文件偏移、数据、数据长度及校验值组成。数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作的transaction的时间也比较短,不容易出错。 + +``` +type Chunk struct { + filePos int64 + checkSum uint32 + len uint32 + data []byte +} +``` - dir @@ -67,6 +82,35 @@ DELETE /dir: Delete a directory ## 流程 -### cp -### 断点续传 -### sync +### 关于文件权限 +- 每一个用户在Cloud注册后可以申请分配用户空间,系统默认会在CephFS上分配一个固定大小(比如初始10G)的、有所有权限的volume,对用户而言就是自己的`home`目录。用户彼此之间的数据是隔离的、无法访问的。用户的空间大小第一期也不允许扩大。 +- 公共数据集合放到一个单独的volume下,对所有外部用户只读。由于其被读取的可能比较频繁,需要提高其备份数,防止成为热点文件。 + +### 关于认证 +> 通信各方都需要有各自的身份证。一个公司可以自签名一个CA身份证,并 且用它来给每个雇员以及每个程序签署身份证。这样,只要每台电脑上都预先安 装好公司自己的CA身份证,就可以用这个身份证验证每个雇员和程序的身份了。 这是目前很多公司的常用做法 + +身份的认证来自于用户或者程序是否有crt标识身份,以及是否有可信的CA确认这个身份证是否有效。我们这里描述的crt涉及到两个部分,一个是Client端程序访问FileServer的crt,不妨称之为Client crt;另外一个是FileServer访问CephFS的crt,不妨称之为CephFS crt。 + +- Client和FileServer相互认证的办法 +`cloud.paddlepaddle.org`需要有自己的CA,FileServer和注册用户也要为其生成各自的私钥(key)、crt。这样用户把CA、自己的key和crt下载到本地后,Client程序可以用之和FileServer可以做相互的认证 + +- CephFS验证FileServer的身份的两种方法 + - 第一种:每一个用户都有自己单独的访问CephFS crt。 + 用户访问其空间时,由FileServer读取它然后才可以在CephFS上完成操作。 + - 第二种:CephFS crt只有一个,也就是admin crt,拥有所有volume的读写权限。 + FileServer从Client crt提取Client的身份(username),限制其可以操作的volume。 我们选择这种。 + +### 关于cp +cp的关键在于需要Client端对比src和dst的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post完成。藉由上述的方法完成断点的数据传输。 + +优化的方法: + +- dst文件不存在时,可以没有Get的过程,只有Post。 +- 文件的chunks信息可以做cache,不用每次启动传输都去读和计算。这个由于比较复杂,第一期暂时不做。 + +tricky: + +- 可以用[Fallocate](https://golang.org/pkg/syscall/#Fallocate)让dst和src文件保持相同的大小。这样,chunk就可以写固定的偏移上。 + +## 参考文档 +- [Do you see tls?](https://github.com/k8sp/tls/blob/master/README.md) From e61d97204c395d61cbce12fdbbfc23a5a39d7a82 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Thu, 4 May 2017 20:53:29 +0800 Subject: [PATCH 19/52] add cmds --- doc/design/file_mananger/README.md | 58 +++++++++--------- .../file_mananger/src/filemanager.graffle | Bin 3656 -> 3605 bytes doc/design/file_mananger/src/filemanager.png | Bin 50663 -> 49686 bytes 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index d7aa808d6c..322cd10473 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -1,41 +1,35 @@ # Desgin doc: FileManager ## Objetive 在本文档中,我们设计说明了用户上传、下载、管理自己在PaddlePaddle Cloud上的文件所涉及到的模块和流程 + <image src=./src/filemanager.png width=600> ## Module ### Client -Client是用户操作的命令行程序,支持的命令如下 - -- ls - -```bash -ls -``` - -- cp +Client提供用户管理本地或者远程文件的命令行程序。 -```bash -cp -``` +- 路径参数: +当用户输入一个命令的时候,最起码需要指定一个路径参数。这里有两种路径参数:LocalPath 或者 PFSPath。 -- sync +LocalPath:代表本地的一个路径 +PFSPath:代表PaddlePaddle Cloud上的一个路径。它需要满足类似这样的格式:`pfs://dir1/dir2`。路径必须要以`pds://`开始。 -```bash -sync -``` +- 路径参数的顺序 +如果命令都有一个或者多个路径参数,那么一般第一个路径参数代表source,第二个路径参数代表destination。 -- mv - -```bash -mv -``` +- 支持的操作命令 + - [rm](cmd_rm.md) + - [mv](cmd_mv.md) + - [cp](cmd_cp.md) + - [ls](cmd_ls.md) + - [mkdir](cmd_mkdir.md) + - [sync](cmd_sync.md) ### Ingress - 在kubernets中运行 -- 做Http转发 -- 注意配置session保持 +- 做Http转发、负载均衡 + - 注意配置session保持,以便来自一个用户的访问可以定向到一个固定的机器上,减少冲突写的机会。 ### FileServer @@ -61,7 +55,7 @@ GET /file/chunk: Get a chunk info POST /file/chunk: Update a chunk ``` 为什么有chunk的抽象: -用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念。chunk由所在的文件偏移、数据、数据长度及校验值组成。数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作的transaction的时间也比较短,不容易出错。 +用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念,一个chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作的transaction的时间也比较短,不容易出错。 ``` type Chunk struct { @@ -101,16 +95,20 @@ DELETE /dir: Delete a directory FileServer从Client crt提取Client的身份(username),限制其可以操作的volume。 我们选择这种。 ### 关于cp -cp的关键在于需要Client端对比src和dst的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post完成。藉由上述的方法完成断点的数据传输。 +cp的关键在于需要Client端对比src和dst的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post完成。藉由上述的方法完成断点的数据传输。 upload文件时,由于一个文件可以是多个FileServer可写的,存在冲突的机会,需要Client端在Post最后一个chunk的时候检查dest文件的MD5值是否和src的一致。 + +- 优化的方法: -优化的方法: + - dst文件不存在时,可以没有Get的过程,只有Post。 + - 文件的chunks信息可以做cache,不用每次启动传输都去读和计算。这个由于比较复杂,第一期暂时不做。 -- dst文件不存在时,可以没有Get的过程,只有Post。 -- 文件的chunks信息可以做cache,不用每次启动传输都去读和计算。这个由于比较复杂,第一期暂时不做。 +- 小的技巧: -tricky: + - 可以用[Fallocate](https://golang.org/pkg/syscall/#Fallocate)生成sparse文件,让dst和src文件保持相同的大小。不同位置的chunk可以同时写入。 -- 可以用[Fallocate](https://golang.org/pkg/syscall/#Fallocate)让dst和src文件保持相同的大小。这样,chunk就可以写固定的偏移上。 +### 关于框架 +准备拿出一点时间测试一下用[swagger-api](https://github.com/swagger-api/swagger-codegen)生成Client和FileServer的框架部分。如果框架生成好用,我们的精力就可以更多的放到逻辑本身上。 ## 参考文档 - [Do you see tls?](https://github.com/k8sp/tls/blob/master/README.md) +- [s3](http://docs.aws.amazon.com/cli/latest/reference/s3/) diff --git a/doc/design/file_mananger/src/filemanager.graffle b/doc/design/file_mananger/src/filemanager.graffle index 68fc8224d33cbc17dfa3634284901fdc5e2cb775..d8ec4299f42eff52e7153b542e101cc28e2f9801 100644 GIT binary patch literal 3605 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 bz35aLl5+4d-^QPpdh_D{MYq+?^=beB1dRsQ literal 3656 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 aZY51p#(d0=(dTjAzWP4}9#6rwX8-^_ek|Jn diff --git a/doc/design/file_mananger/src/filemanager.png b/doc/design/file_mananger/src/filemanager.png index 661d547e414f0119728e1bb5262d0cbb446b395a..d8b14404bab846c42937b28296a63978c5cfdbb1 100644 GIT binary patch literal 49686 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 aA6)5_N0knSm8Ce~@2rM_da0`2)&Bz_Fijx< literal 50663 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 From 5cdef642fa2806b403b00d659fcdd2aa8d9e5ef0 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Thu, 4 May 2017 21:04:12 +0800 Subject: [PATCH 20/52] modify stly --- doc/design/file_mananger/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index 322cd10473..4a9d0214d9 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -8,13 +8,13 @@ ### Client Client提供用户管理本地或者远程文件的命令行程序。 -- 路径参数: -当用户输入一个命令的时候,最起码需要指定一个路径参数。这里有两种路径参数:LocalPath 或者 PFSPath。 +- 路径参数: +当用户输入一个命令的时候,一般需要指定路径参数。这里有两种路径参数:LocalPath 或者 PFSPath。 -LocalPath:代表本地的一个路径 -PFSPath:代表PaddlePaddle Cloud上的一个路径。它需要满足类似这样的格式:`pfs://dir1/dir2`。路径必须要以`pds://`开始。 + LocalPath:代表本地的一个路径 + PFSPath:代表PaddlePaddle Cloud上的一个路径。它需要满足类似这样的格式:`pfs://dir1/dir2`。路径必须要以`pds://`开始。 -- 路径参数的顺序 +- 路径参数的顺序 如果命令都有一个或者多个路径参数,那么一般第一个路径参数代表source,第二个路径参数代表destination。 - 支持的操作命令 @@ -94,8 +94,8 @@ DELETE /dir: Delete a directory - 第二种:CephFS crt只有一个,也就是admin crt,拥有所有volume的读写权限。 FileServer从Client crt提取Client的身份(username),限制其可以操作的volume。 我们选择这种。 -### 关于cp -cp的关键在于需要Client端对比src和dst的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post完成。藉由上述的方法完成断点的数据传输。 upload文件时,由于一个文件可以是多个FileServer可写的,存在冲突的机会,需要Client端在Post最后一个chunk的时候检查dest文件的MD5值是否和src的一致。 +### 关于文件传输 +文件传输的的关键在于需要Client端对比src和dst的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post chunk完成。藉由上述的方法完成断点的数据传输。 upload文件时,由于一个文件可以是多个FileServer可写的,存在冲突的机会,需要Client端在Post最后一个chunk的时候检查dest文件的MD5值是否和本地文件一致。 - 优化的方法: From ee454f938073eb675ed9d20891df33bdb863c3d4 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 5 May 2017 12:00:19 +0800 Subject: [PATCH 21/52] add commands --- doc/design/file_mananger/README.md | 55 +++++---------------------- doc/design/file_mananger/RESTAPI.md | 23 +++++++++++ doc/design/file_mananger/pfs/cp.md | 47 +++++++++++++++++++++++ doc/design/file_mananger/pfs/ls.md | 49 ++++++++++++++++++++++++ doc/design/file_mananger/pfs/mkdir.md | 33 ++++++++++++++++ doc/design/file_mananger/pfs/mv.md | 38 ++++++++++++++++++ doc/design/file_mananger/pfs/pfs.md | 36 ++++++++++++++++++ doc/design/file_mananger/pfs/rm.md | 50 ++++++++++++++++++++++++ doc/design/file_mananger/pfs/sync.md | 53 ++++++++++++++++++++++++++ 9 files changed, 339 insertions(+), 45 deletions(-) create mode 100644 doc/design/file_mananger/RESTAPI.md create mode 100644 doc/design/file_mananger/pfs/cp.md create mode 100644 doc/design/file_mananger/pfs/ls.md create mode 100644 doc/design/file_mananger/pfs/mkdir.md create mode 100644 doc/design/file_mananger/pfs/mv.md create mode 100644 doc/design/file_mananger/pfs/pfs.md create mode 100644 doc/design/file_mananger/pfs/rm.md create mode 100644 doc/design/file_mananger/pfs/sync.md diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index 4a9d0214d9..6078696e6e 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -5,25 +5,11 @@ <image src=./src/filemanager.png width=600> ## Module -### Client -Client提供用户管理本地或者远程文件的命令行程序。 +### PFS Client +- 提供用户管理Cloud文件的命令 +- 用Golang写,可以跨平台执行 -- 路径参数: -当用户输入一个命令的时候,一般需要指定路径参数。这里有两种路径参数:LocalPath 或者 PFSPath。 - - LocalPath:代表本地的一个路径 - PFSPath:代表PaddlePaddle Cloud上的一个路径。它需要满足类似这样的格式:`pfs://dir1/dir2`。路径必须要以`pds://`开始。 - -- 路径参数的顺序 -如果命令都有一个或者多个路径参数,那么一般第一个路径参数代表source,第二个路径参数代表destination。 - -- 支持的操作命令 - - [rm](cmd_rm.md) - - [mv](cmd_mv.md) - - [cp](cmd_cp.md) - - [ls](cmd_ls.md) - - [mkdir](cmd_mkdir.md) - - [sync](cmd_sync.md) +命令的详细内容看[这里](./pfs/pfs.md) ### Ingress @@ -37,26 +23,14 @@ Client提供用户管理本地或者远程文件的命令行程序。 - gorpc写的HttpServer - 响应外部的REST API的请求 - 在kubernets中运行 +- [RESTAPI](./RESTAPI.md)接口 -REST API说明: - -- file - -``` -GET /file: Get attribue of files -POST /file: Touch a file -DELETE /file: Delete a File -``` - -- chunk - -``` -GET /file/chunk: Get a chunk info -POST /file/chunk: Update a chunk -``` -为什么有chunk的抽象: +## 流程 +### 为什么有chunk的抽象: 用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念,一个chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作的transaction的时间也比较短,不容易出错。 +一个典型的chunk如下所示: + ``` type Chunk struct { filePos int64 @@ -66,16 +40,6 @@ type Chunk struct { } ``` -- dir - -``` -GET /dir: List all files in a directory -POST /dir: Touch a directory -DELETE /dir: Delete a directory -``` - - -## 流程 ### 关于文件权限 - 每一个用户在Cloud注册后可以申请分配用户空间,系统默认会在CephFS上分配一个固定大小(比如初始10G)的、有所有权限的volume,对用户而言就是自己的`home`目录。用户彼此之间的数据是隔离的、无法访问的。用户的空间大小第一期也不允许扩大。 - 公共数据集合放到一个单独的volume下,对所有外部用户只读。由于其被读取的可能比较频繁,需要提高其备份数,防止成为热点文件。 @@ -112,3 +76,4 @@ DELETE /dir: Delete a directory ## 参考文档 - [Do you see tls?](https://github.com/k8sp/tls/blob/master/README.md) - [s3](http://docs.aws.amazon.com/cli/latest/reference/s3/) +- linux man document diff --git a/doc/design/file_mananger/RESTAPI.md b/doc/design/file_mananger/RESTAPI.md new file mode 100644 index 0000000000..4286195970 --- /dev/null +++ b/doc/design/file_mananger/RESTAPI.md @@ -0,0 +1,23 @@ +# REST API +- file + +``` +GET /file: Get attribue of files +POST /file: Touch a file +DELETE /file: Delete a File +``` + +- chunk + +``` +GET /file/chunk: Get a chunk info +POST /file/chunk: Update a chunk +``` + +- dir + +``` +GET /dir: List all files in a directory +POST /dir: Touch a directory +DELETE /dir: Delete a directory +``` diff --git a/doc/design/file_mananger/pfs/cp.md b/doc/design/file_mananger/pfs/cp.md new file mode 100644 index 0000000000..fcc57258a1 --- /dev/null +++ b/doc/design/file_mananger/pfs/cp.md @@ -0,0 +1,47 @@ +# Name +pfs_cp - copy files and directories + +# Synopsis +` pfs_cp +<LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath>` + +# Description + +``` + --only-show-errors (boolean) + Only errors and warnings are displayed. All other output is suppressed. + + --page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. + + --preserve--links + Reserve links when copy files + + -R, -r, --recursive + Copy directories recursively +``` + +# Examples +- The following command cp a single file to pfs + +``` +pfs_cp ./text1.txt pfs://mydir/text1.txt +``` + +Output + +``` +upload ./text1.txt to pfs://mydir/text1.txt +``` + +- The following command cp pfs file to a local file + +``` +pfs_cp pfs://mydir/text1.txt ./text1.txt +``` + +Output + +``` +download pfs://mydir/text1.txt to ./text1.txt +``` diff --git a/doc/design/file_mananger/pfs/ls.md b/doc/design/file_mananger/pfs/ls.md new file mode 100644 index 0000000000..41cf6fdf77 --- /dev/null +++ b/doc/design/file_mananger/pfs/ls.md @@ -0,0 +1,49 @@ +# Name +pfs_ls - list directory contents o + +# Synopsis +` pfs_ls [OPTION]... <PFSPath>` + +# Description + +``` + -h, --help + Display this help and exit + + --version + Output version information and exit + + --only-show-errors (boolean) + Only errors and warnings are displayed. All other output is suppressed. + + --page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. + + -R, -r, --recursive + Copy directories recursively +``` + +# Examples +- The following command cp a single file to pfs + +``` +pfs_cp ./text1.txt pfs://mydir/text1.txt +``` + +Output + +``` +upload ./text1.txt to pfs://mydir/text1.txt +``` + +- The following command cp pfs file to a local file + +``` +pfs_cp pfs://mydir/text1.txt ./text1.txt +``` + +Output + +``` +download pfs://mydir/text1.txt to ./text1.txt +``` diff --git a/doc/design/file_mananger/pfs/mkdir.md b/doc/design/file_mananger/pfs/mkdir.md new file mode 100644 index 0000000000..e3b0d0cae7 --- /dev/null +++ b/doc/design/file_mananger/pfs/mkdir.md @@ -0,0 +1,33 @@ +# Name +pdf_mkdir - mkdir directory(ies) + +# Synopsis +`pfs_mkdir [OPTION]... PFS_DIRECTORY...` + +# Description +Create the pfs directory(ies), if they do not already exist. + +``` + -h, --help + display this help and exit + + --version + output version information and exit + + --only-show-errors (boolean) + Only errors and warnings are displayed. All other output is suppressed. + + --page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. +``` + +# Examples +``` +pfs_mkdir pfs://mydir1 +``` + +Output + +``` +make directory pfs://mydir1 +``` diff --git a/doc/design/file_mananger/pfs/mv.md b/doc/design/file_mananger/pfs/mv.md new file mode 100644 index 0000000000..3f4c1ac076 --- /dev/null +++ b/doc/design/file_mananger/pfs/mv.md @@ -0,0 +1,38 @@ +# Name +mv - move (rename) files or directories + + +# Synopsis +If destination already exist, please rm it first. +``` +mv [OPTION]... +<LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath> +``` + +# Description +``` + -h, --help + display this help and exit + + -v, --version + output version information and exit + + --only-show-errors (boolean) + Only errors and warnings are displayed. All other output is suppressed. + + --page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. +``` + +# Examples +- The following command move a single file to pfs + +``` +mv ./text1.txt pfs://mydirectory/test1.txt +``` + +Output + +``` +move text1.txt pfs://mydirectory/test1.txt +``` diff --git a/doc/design/file_mananger/pfs/pfs.md b/doc/design/file_mananger/pfs/pfs.md new file mode 100644 index 0000000000..a17de7d814 --- /dev/null +++ b/doc/design/file_mananger/pfs/pfs.md @@ -0,0 +1,36 @@ +# PFS Client + +## Description +The `pfs` command is a Command Line Interface to manage your files on Paddle Cloud + +## Synopsis +``` +paddle [options] pfs <subcommand> [parameters] +``` + +## Options +``` +--profile (string) + Use a specific profile from your credential file. +--help pfs + Display more information about pfs +--version + Output version information and exit +--debug + Show detailed debugging log +``` + +## Path Arguments +When using a commnd, we need to specify path arguments. There are two path argument type: `localpath` and `pfspath`. +A pfspath begin with `pfs://`, eg: `pfs://mydir/text1.txt`. + +## Path Arguments‘s order +Commonly, there maybe two path arguments. The first is source, and the second is destination. + +## Subcommonds +- [rm](rm.md) +- [mv](mv.md) +- [cp](cp.md) +- [ls](ls.md) +- [mkdir](mkdir.md) +- [sync](sync.md) diff --git a/doc/design/file_mananger/pfs/rm.md b/doc/design/file_mananger/pfs/rm.md new file mode 100644 index 0000000000..6056c401f9 --- /dev/null +++ b/doc/design/file_mananger/pfs/rm.md @@ -0,0 +1,50 @@ +# Name +rm - remove files or directories + +# Synopsis +`rm [OPTION]... PFS_DIRECTORY...` + +# Description +Create the directory, if it does not already exits + +``` + -r, -R, --recursive + remove directories and their contents recursively + + -v, --version + output version information and exit + + --only-show-errors (boolean) + Only errors and warnings are displayed. All other output is suppressed. + + --page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. +``` + +# Examples +- The following command delete a single file + +``` +pfs_rm pfs://mydirectory/test1.txt +``` + +Output + +``` +delete pfs://mydirectory/test1.txt +``` + + +- The following command delete a directory recursively. + +``` +pfs_rm -r pfs://mydirectory +``` + +Output + +``` +delete pfs://mydirectory/1.txt +delete pfs://mydirectory/2.txt +... +``` diff --git a/doc/design/file_mananger/pfs/sync.md b/doc/design/file_mananger/pfs/sync.md new file mode 100644 index 0000000000..9924808274 --- /dev/null +++ b/doc/design/file_mananger/pfs/sync.md @@ -0,0 +1,53 @@ +# Name +pfs_cp - copy files and directories + +# Synopsis +` pfs_cp +<LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath>` + +# Description + +``` + -h, --help + Display this help and exit + + --version + Output version information and exit + + --only-show-errors (boolean) + Only errors and warnings are displayed. All other output is suppressed. + + --page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. + + --preserve--links + Reserve links when copy files + + -R, -r, --recursive + Copy directories recursively +``` + +# Examples +- The following command cp a single file to pfs + +``` +pfs_cp ./text1.txt pfs://mydir/text1.txt +``` + +Output + +``` +upload ./text1.txt to pfs://mydir/text1.txt +``` + +- The following command cp pfs file to a local file + +``` +pfs_cp pfs://mydir/text1.txt ./text1.txt +``` + +Output + +``` +download pfs://mydir/text1.txt to ./text1.txt +``` From 177d35afa1edfb6906d49c4066adda7a7c94b1d2 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 5 May 2017 15:07:40 +0800 Subject: [PATCH 22/52] modify commands --- doc/design/file_mananger/README.md | 4 +-- doc/design/file_mananger/RESTAPI.md | 2 +- doc/design/file_mananger/pfs/cp.md | 20 +++++--------- doc/design/file_mananger/pfs/ls.md | 35 ++++++++++-------------- doc/design/file_mananger/pfs/mkdir.md | 22 +++------------ doc/design/file_mananger/pfs/mv.md | 18 +++---------- doc/design/file_mananger/pfs/pfs.md | 18 ++++++++----- doc/design/file_mananger/pfs/rm.md | 21 ++++++--------- doc/design/file_mananger/pfs/sync.md | 39 ++++++++++----------------- 9 files changed, 66 insertions(+), 113 deletions(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index 6078696e6e..bca8f48b8e 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -2,7 +2,7 @@ ## Objetive 在本文档中,我们设计说明了用户上传、下载、管理自己在PaddlePaddle Cloud上的文件所涉及到的模块和流程 -<image src=./src/filemanager.png width=600> +<image src=./src/filemanager.png width=8900> ## Module ### PFS Client @@ -25,7 +25,7 @@ - 在kubernets中运行 - [RESTAPI](./RESTAPI.md)接口 -## 流程 +## 解释 ### 为什么有chunk的抽象: 用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念,一个chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作的transaction的时间也比较短,不容易出错。 diff --git a/doc/design/file_mananger/RESTAPI.md b/doc/design/file_mananger/RESTAPI.md index 4286195970..8d0f37be99 100644 --- a/doc/design/file_mananger/RESTAPI.md +++ b/doc/design/file_mananger/RESTAPI.md @@ -1,4 +1,4 @@ -# REST API +# REST API Interface - file ``` diff --git a/doc/design/file_mananger/pfs/cp.md b/doc/design/file_mananger/pfs/cp.md index fcc57258a1..af4204d717 100644 --- a/doc/design/file_mananger/pfs/cp.md +++ b/doc/design/file_mananger/pfs/cp.md @@ -1,19 +1,13 @@ # Name -pfs_cp - copy files and directories +cp - copy files and directories # Synopsis -` pfs_cp +` cp [OPTION]... <LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath>` # Description -``` - --only-show-errors (boolean) - Only errors and warnings are displayed. All other output is suppressed. - - --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. - +``` --preserve--links Reserve links when copy files @@ -22,10 +16,10 @@ pfs_cp - copy files and directories ``` # Examples -- The following command cp a single file to pfs +- The following command copies a single file to pfs ``` -pfs_cp ./text1.txt pfs://mydir/text1.txt +paddle pfs cp ./text1.txt pfs://mydir/text1.txt ``` Output @@ -34,10 +28,10 @@ Output upload ./text1.txt to pfs://mydir/text1.txt ``` -- The following command cp pfs file to a local file +- The following command copies pfs file to a local file ``` -pfs_cp pfs://mydir/text1.txt ./text1.txt +paddle pfs cp pfs://mydir/text1.txt ./text1.txt ``` Output diff --git a/doc/design/file_mananger/pfs/ls.md b/doc/design/file_mananger/pfs/ls.md index 41cf6fdf77..bec4c39b37 100644 --- a/doc/design/file_mananger/pfs/ls.md +++ b/doc/design/file_mananger/pfs/ls.md @@ -1,49 +1,42 @@ # Name -pfs_ls - list directory contents o +ls - list directory contents or a file attributes # Synopsis -` pfs_ls [OPTION]... <PFSPath>` +` ls [OPTION]... <PFSPath>` # Description -``` - -h, --help - Display this help and exit - - --version - Output version information and exit - - --only-show-errors (boolean) - Only errors and warnings are displayed. All other output is suppressed. - - --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. - +``` -R, -r, --recursive Copy directories recursively + + --page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if operation time out. ``` # Examples -- The following command cp a single file to pfs +- The following command lists a single file ``` -pfs_cp ./text1.txt pfs://mydir/text1.txt +paddle pfs ls pfs://mydir/text1.txt ``` Output ``` -upload ./text1.txt to pfs://mydir/text1.txt +2017-05-5 17:04:30 text1.txt ``` -- The following command cp pfs file to a local file +- The following command lists directory contents ``` -pfs_cp pfs://mydir/text1.txt ./text1.txt +paddle pfs ls pfs://mydir ``` Output ``` -download pfs://mydir/text1.txt to ./text1.txt +2017-05-5 17:04:30 text1.txt +2017-05-5 17:04:30 text2.txt +... ``` diff --git a/doc/design/file_mananger/pfs/mkdir.md b/doc/design/file_mananger/pfs/mkdir.md index e3b0d0cae7..45906dc208 100644 --- a/doc/design/file_mananger/pfs/mkdir.md +++ b/doc/design/file_mananger/pfs/mkdir.md @@ -1,29 +1,15 @@ # Name -pdf_mkdir - mkdir directory(ies) +mkdir - mkdir directory(ies) # Synopsis -`pfs_mkdir [OPTION]... PFS_DIRECTORY...` +`mkdir [OPTION]... <PFSPath> ...` # Description -Create the pfs directory(ies), if they do not already exist. - -``` - -h, --help - display this help and exit - - --version - output version information and exit - - --only-show-errors (boolean) - Only errors and warnings are displayed. All other output is suppressed. - - --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. -``` +Create the pfs directory(ies), if they do not already exist. And create intermediate directories as required # Examples ``` -pfs_mkdir pfs://mydir1 +paddle pfs mkdir pfs://mydir1 ``` Output diff --git a/doc/design/file_mananger/pfs/mv.md b/doc/design/file_mananger/pfs/mv.md index 3f4c1ac076..7f7ef209c8 100644 --- a/doc/design/file_mananger/pfs/mv.md +++ b/doc/design/file_mananger/pfs/mv.md @@ -3,7 +3,8 @@ mv - move (rename) files or directories # Synopsis -If destination already exist, please rm it first. +If destination already exist, please [rm](rm.md) it first. + ``` mv [OPTION]... <LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath> @@ -11,28 +12,17 @@ mv [OPTION]... # Description ``` - -h, --help - display this help and exit - - -v, --version - output version information and exit - - --only-show-errors (boolean) - Only errors and warnings are displayed. All other output is suppressed. - - --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. ``` # Examples - The following command move a single file to pfs ``` -mv ./text1.txt pfs://mydirectory/test1.txt +paddle pfs mv ./text1.txt pfs://mydirectory/test1.txt ``` Output ``` -move text1.txt pfs://mydirectory/test1.txt +move ./text1.txt pfs://mydirectory/test1.txt ``` diff --git a/doc/design/file_mananger/pfs/pfs.md b/doc/design/file_mananger/pfs/pfs.md index a17de7d814..76ee0a6917 100644 --- a/doc/design/file_mananger/pfs/pfs.md +++ b/doc/design/file_mananger/pfs/pfs.md @@ -12,20 +12,26 @@ paddle [options] pfs <subcommand> [parameters] ``` --profile (string) Use a specific profile from your credential file. ---help pfs - Display more information about pfs + +--help (string) + Display more information about command + --version Output version information and exit + --debug Show detailed debugging log + +--only-show-errors (boolean) + Only errors and warnings are displayed. All other output is suppressed. ``` ## Path Arguments -When using a commnd, we need to specify path arguments. There are two path argument type: `localpath` and `pfspath`. -A pfspath begin with `pfs://`, eg: `pfs://mydir/text1.txt`. +When using a command, we need to specify path arguments. There are two path argument type: `localpath` and `pfspath`. +A `pfspath` begin with `pfs://`, eg: `pfs://mydir/text1.txt`. -## Path Arguments‘s order -Commonly, there maybe two path arguments. The first is source, and the second is destination. +## order of Path Arguments +Commonly, if there are two path arguments. The first is the source, and the second is the destination. ## Subcommonds - [rm](rm.md) diff --git a/doc/design/file_mananger/pfs/rm.md b/doc/design/file_mananger/pfs/rm.md index 6056c401f9..fa881fe1e9 100644 --- a/doc/design/file_mananger/pfs/rm.md +++ b/doc/design/file_mananger/pfs/rm.md @@ -2,30 +2,25 @@ rm - remove files or directories # Synopsis -`rm [OPTION]... PFS_DIRECTORY...` +``` +rm [OPTION]... <PFSPath>... +``` # Description -Create the directory, if it does not already exits ``` -r, -R, --recursive remove directories and their contents recursively - - -v, --version - output version information and exit - - --only-show-errors (boolean) - Only errors and warnings are displayed. All other output is suppressed. --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out ``` # Examples -- The following command delete a single file +- The following command deletes a single files ``` -pfs_rm pfs://mydirectory/test1.txt +paddle pfs rm pfs://mydirectory/test1.txt ``` Output @@ -35,10 +30,10 @@ delete pfs://mydirectory/test1.txt ``` -- The following command delete a directory recursively. +- The following command deletes a directory recursively. ``` -pfs_rm -r pfs://mydirectory +paddle pfs rm -r pfs://mydirectory ``` Output diff --git a/doc/design/file_mananger/pfs/sync.md b/doc/design/file_mananger/pfs/sync.md index 9924808274..7a8e0b74cf 100644 --- a/doc/design/file_mananger/pfs/sync.md +++ b/doc/design/file_mananger/pfs/sync.md @@ -1,53 +1,42 @@ # Name -pfs_cp - copy files and directories +sync - sync directories. Recursively copies new and updated files from the source directory to the destination # Synopsis -` pfs_cp +` sync [OPTIONS]... <LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath>` # Description ``` - -h, --help - Display this help and exit - - --version - Output version information and exit - - --only-show-errors (boolean) - Only errors and warnings are displayed. All other output is suppressed. - - --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out. - - --preserve--links - Reserve links when copy files - - -R, -r, --recursive - Copy directories recursively + -l, --links + copy symlinks as symlinks ``` # Examples -- The following command cp a single file to pfs +- The following command sync locally directory to pfs ``` -pfs_cp ./text1.txt pfs://mydir/text1.txt +sync ./dir1 pfs://mydir1 ``` Output ``` -upload ./text1.txt to pfs://mydir/text1.txt +upload ./dir1/text1.txt to pfs://mydir1/text2.txt +upload ./dir1/text2.txt to pfs://mydir1/text2.txt +... ``` -- The following command cp pfs file to a local file +- The following command sync pfs directory to local ``` -pfs_cp pfs://mydir/text1.txt ./text1.txt +sync pfs://mydir1 . ``` Output ``` -download pfs://mydir/text1.txt to ./text1.txt +download pfs://mydir1/text1.txt to ./text1.txt +download pfs://mydir1/text2.txt to ./text2.txt +... ``` From 1297bbd1a2a24676d6091947c14c510a44c41a4f Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 5 May 2017 15:40:26 +0800 Subject: [PATCH 23/52] modify some bugs --- doc/design/file_mananger/pfs/cp.md | 10 +++++----- doc/design/file_mananger/pfs/ls.md | 10 +++++----- doc/design/file_mananger/pfs/rm.md | 8 ++++---- doc/design/file_mananger/pfs/sync.md | 8 ++++---- .../file_mananger/src/filemanager.graffle | Bin 3605 -> 3819 bytes doc/design/file_mananger/src/filemanager.png | Bin 49686 -> 57379 bytes 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/doc/design/file_mananger/pfs/cp.md b/doc/design/file_mananger/pfs/cp.md index af4204d717..80eed5d079 100644 --- a/doc/design/file_mananger/pfs/cp.md +++ b/doc/design/file_mananger/pfs/cp.md @@ -8,11 +8,11 @@ cp - copy files and directories # Description ``` - --preserve--links - Reserve links when copy files - - -R, -r, --recursive - Copy directories recursively +--preserve--links + Reserve links when copy links + +-R, -r, --recursive + Copy directories recursively ``` # Examples diff --git a/doc/design/file_mananger/pfs/ls.md b/doc/design/file_mananger/pfs/ls.md index bec4c39b37..8dc81aeaba 100644 --- a/doc/design/file_mananger/pfs/ls.md +++ b/doc/design/file_mananger/pfs/ls.md @@ -7,11 +7,11 @@ ls - list directory contents or a file attributes # Description ``` - -R, -r, --recursive - Copy directories recursively - - --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if operation time out. +-R, -r, --recursive + Copy directories recursively + +--page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if operation time out. ``` # Examples diff --git a/doc/design/file_mananger/pfs/rm.md b/doc/design/file_mananger/pfs/rm.md index fa881fe1e9..0b3760f332 100644 --- a/doc/design/file_mananger/pfs/rm.md +++ b/doc/design/file_mananger/pfs/rm.md @@ -9,11 +9,11 @@ rm [OPTION]... <PFSPath>... # Description ``` - -r, -R, --recursive - remove directories and their contents recursively +-r, -R, --recursive + remove directories and their contents recursively - --page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out +--page-size (integer) + The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out ``` # Examples diff --git a/doc/design/file_mananger/pfs/sync.md b/doc/design/file_mananger/pfs/sync.md index 7a8e0b74cf..c317742e50 100644 --- a/doc/design/file_mananger/pfs/sync.md +++ b/doc/design/file_mananger/pfs/sync.md @@ -8,15 +8,15 @@ sync - sync directories. Recursively copies new and updated files from the sourc # Description ``` - -l, --links - copy symlinks as symlinks +--preserve--links + Reserve links when copy links ``` # Examples - The following command sync locally directory to pfs ``` -sync ./dir1 pfs://mydir1 +paddle pfs sync ./dir1 pfs://mydir1 ``` Output @@ -30,7 +30,7 @@ upload ./dir1/text2.txt to pfs://mydir1/text2.txt - The following command sync pfs directory to local ``` -sync pfs://mydir1 . +paddle pfs sync pfs://mydir1 . ``` Output diff --git a/doc/design/file_mananger/src/filemanager.graffle b/doc/design/file_mananger/src/filemanager.graffle index d8ec4299f42eff52e7153b542e101cc28e2f9801..4a4338488dc1157745023790ed576d42ea214f1d 100644 GIT binary patch literal 3819 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%0Db2LDF5&JLFToW+oyEP;wf@C($1%IU!OXJXpws zM?X}!58zN))fA@a7}9T5699)8SO&C9Kw`=O@@mE_K{(2DA)LoPrc^adbVH$<q3aqp zs8T|l65^B)r-V4_lb>X+cXM(<Z|I5)|5V%prAU)CO{3zdgf)K>So8Ep9mO~Dp8}N- zV=~U_714;uFc{sCnEJhu)2asyaYgz1YqzfB4S0~Rx`bM5LapAH9)O*mchne}`;%6) zo?spG23k3pbm_^Afv6+fyEFxp)jWz3Qx&Q0CNaW3{WxPvpjW~G_$$F>2is8dxHmMb zGpy4DQ8MT$W)KjnC$Jb?<POx_{(OeIo&B(PmPb+vt^vYj(3aq}Qz2%(i4M)v>pgSS ztTkeW1RnN4#@<!mYt3YyA2+$Xe|b4F&-w>ndtYLP&&{p?S+@A8RMb5aYVMm=BDMpw zIx!muX17^A6359kGy#J_5A{X>v-ZPk47c{I#%TDygj&xGwQN2aU4+kwv?xUoPZ>Y~ zM5xXTLx+G$bQyv+)8T}oz-i$Ib^O9{mO`HiXA%9e(?J2VYM=y2p{mLVV<pZian?`6 zSts>YTQVokcf?r5?nYO^jVL%ytQ0D8_m}KZ(Bp4+UqE*Joh-4m@}HD6fO!x2MP&8C zAZL~?e&(mvvPx;<4}OkCB6??$;vtdty&n?g=2N~9<dS*w>7L;H0<`tV1fvIa9(*AW zd2sctj}CN|3g~Vu-G6!w@rG(;yeZ?&i;p)**r%Si&mR+gSQ&lF=<_?HPdR1&;b%zn zcf1WpWgV0FB^V;B#WUwgLIEm(RYuAQ^W}v3qM)Nv13(U9uOkg4Wg1wffiFA_R173; zJJ27O_~A0~D-%DV^Uxsy51;cPS{z;|!LK8{ly|ku@bWUk%byH~6~Eklk2w?lsW^;K zEyhih$qb1%A(@UL^Ve`8A}jcGK?$v1|Az<YGfu{fbHiCU{UNy_(f$m%;UDBJCtw=f z_C6neeWh<XndMtfFK+7HgY)j5A2U!@ld-C5s?HRwGt~gxfE7j7Dbsbrh(VwPCtqj8 zGNZbV7@?RkEWV2R^1seV*mF(CQy=@<lffXLQ4QT7OjQ(Yl+*Fb>3BbFI$pqsP8jh( zvb=#b<dI|t(fPkx82$<L;e6M&%BNHh_yOf9=t%vY=!oD#IK;4c{hlf%82Yn;A@w<5 zO;QO1HA?Q3V@-TbjC^l6q`XWxRNnkvE8^I$KOM*uYcOy*{JLEBgW)q~wnU>cGYkWg zEQM(bi@!obk*r~H6^5c?q$TrBnfAipDIw4HP6>Hr5{rpOnD~qk(~wvwK`)coGKu|Z zE=4F(;PI%u*S~(|`Q$GIQv`0)AVp~>MY^mqrXVJ!P^m<bRf>yeM+x#|wv|e#Oq6&X zi1KavS3V&s{xlfHc=^fBkNQ#=Ei=qlonboMi@rU);!$R?sYc)o(%w3|YLqBlT25&0 zdl#-ZraZ8|_<<m=iC!yO$jQnpGGtYG_3f{q%To>4q6*fc3gIeOeD)y>hW&y_nYrp* zC*8fSm|18jv)WW+>I``J$+s{0V0mSujPazX&z#Wd=hsilrrL?;Jhp}l@4DItB(7o% zgf;OUARer-#?(j7Cv88wiqoBYP5iG|ZY_Lp4J8w73oJF`DpP(ssR}yhp5jAmykgA$ z`5*uD&;R~+X@y!H!(rOdEW%A(eCF`$Ri#C?0~hK~qhjkZJ!hO+UaKhi5~a2i*#3dz zZKqbBnp>K_WNI;O3s7WWWpK(IrJyBxHx{$*4bu>5F3Z4=a>96GRWA{oKXGpujdBeT zl>8AxM}!ihEHxPOKSIFh+MhUU(Ps?^M7%7rh`a$ESVKsbA44zh5VuC0M@!0lr|Ad& zz`2+$7I^PMYN~{^cT{~x_0<chB^B{CS5iChueey<Y}fJzE?@hC4*iI)fB8p&2q&2V zS-pPWoEp???aGC3s=}CFhHKCYqb)YF!&cRgB7b~f1*xU@(n<Wh>I>JmqO4Px?JFqj z;}<R~X<^q7oUguTxgfXWEh%ZfA=@7akG`Uzd!PB6qoY%#;(lk}wTHFj8#lN&>hGSp z;sZ3by4r4&{a<^XLuBrC>SpU#pxL=`uWOC_#s9=FqTka!!UNq`|1qSZLB<!as6N@O ztlzUXT^>c*k1G{4lL3OOn#tWqN<A5nW3R<DM06eLY(vtP5Z#JKh4!6rvB)T2VG=K4 z_)kRI_&vwJ?N7c(^;u^h55$qjh3hCtJWc?F9(nHV!#?H2zg~AuO(0!sLCrW&w4EsL z{{HtLfB(P#{I5(tl5mV6rH{oB&OFKQk_BtmNbh3i?b*t5kK{e|oL{GW0TJ)H`qPlt zy~qjf>-MwNnPxsn%)-N&?+iZj+iZ8@Y;SfP4{&F(*RM^306H!1^nB8d^6Sg)1R4Ld zz~qX8Hl$6Qd~XR5Iug%)6trUX+tw&6Q947Mm!C{s9uyM5DD|y}iaX9AopUXw%c(0? z%}rSTt!?%595_!u8-Wu(%=oayBtQlFf+kPB?$)Hu_e6S)+yXo(NX{(4$>B<;u;Lcm h3N!g-MeVCjrCn0aeJr-|deI-={69HtmAS@x000$ccY^=` literal 3605 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 bz35aLl5+4d-^QPpdh_D{MYq+?^=beB1dRsQ diff --git a/doc/design/file_mananger/src/filemanager.png b/doc/design/file_mananger/src/filemanager.png index d8b14404bab846c42937b28296a63978c5cfdbb1..e6b9bfa48ea6371569c2d8458de55758270e64c9 100644 GIT binary patch literal 57379 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 literal 49686 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 aA6)5_N0knSm8Ce~@2rM_da0`2)&Bz_Fijx< From 5f02c4248a3937c6a2b54f74226e9b65e4b4db03 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 5 May 2017 15:53:48 +0800 Subject: [PATCH 24/52] rm no ascii character --- doc/design/file_mananger/pfs/mv.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/design/file_mananger/pfs/mv.md b/doc/design/file_mananger/pfs/mv.md index 7f7ef209c8..8ea006bdaf 100644 --- a/doc/design/file_mananger/pfs/mv.md +++ b/doc/design/file_mananger/pfs/mv.md @@ -1,5 +1,5 @@ # Name -mv - move (rename) files or directories +mv - move (rename) files or directories # Synopsis From 0e0de915c8235824ca9043f04c0ef18ccd82e6ef Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 5 May 2017 17:17:45 +0800 Subject: [PATCH 25/52] rm chinese links --- doc/design/file_mananger/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index bca8f48b8e..ea267e64d4 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -9,7 +9,7 @@ - 提供用户管理Cloud文件的命令 - 用Golang写,可以跨平台执行 -命令的详细内容看[这里](./pfs/pfs.md) +命令的详细内容看[Here](./pfs/pfs.md) ### Ingress From 1cc60626a34241e3f6433120b1fade6eed794896 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Mon, 8 May 2017 10:09:06 +0800 Subject: [PATCH 26/52] modify by comments --- doc/design/file_mananger/README.md | 84 +++++++++--------- .../file_mananger/src/filemanager.graffle | Bin 3819 -> 3442 bytes doc/design/file_mananger/src/filemanager.png | Bin 57379 -> 54827 bytes 3 files changed, 44 insertions(+), 40 deletions(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index ea267e64d4..00ca6db172 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -1,11 +1,20 @@ -# Desgin doc: FileManager -## Objetive -在本文档中,我们设计说明了用户上传、下载、管理自己在PaddlePaddle Cloud上的文件所涉及到的模块和流程 +# FileManager设计文档 +## 名词解释 +- PFS:是Paddle cloud File System的简称。与之相对的是Local File System。 +- FileServer:接收用户管理文件命令的服务端 +- FileManger:用户管理自己自己在PFS文件上的系统称为FileManager +- CephFS:是个POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据. +- Chunk:逻辑划分文件的一个单位,用于文件分块上传或者下载。 +- Ingress:Layer 7 Load Balancer + +## 目标 +在本文档中,我们设计说明了用户上传、下载、管理自己在PaddlePaddle Cloud上的文件所涉及到的模块和流程。架构图如下所示: <image src=./src/filemanager.png width=8900> -## Module -### PFS Client + + +## PFS Client - 提供用户管理Cloud文件的命令 - 用Golang写,可以跨平台执行 @@ -14,66 +23,61 @@ ### Ingress - 在kubernets中运行 -- 做Http转发、负载均衡 +- 做HTTP转发、负载均衡 - 注意配置session保持,以便来自一个用户的访问可以定向到一个固定的机器上,减少冲突写的机会。 -### FileServer +## FileServer 功能说明: -- gorpc写的HttpServer +- goRPC写的HTTPServer - 响应外部的REST API的请求 -- 在kubernets中运行 +- 在kubernetes中运行 - [RESTAPI](./RESTAPI.md)接口 -## 解释 -### 为什么有chunk的抽象: -用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念,一个chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作的transaction的时间也比较短,不容易出错。 +## 文件传输 +### 文件权限 +- 每一个用户在Cloud注册后可以申请分配用户空间,系统默认会在CephFS上分配一个固定大小(比如初始10G)的、有所有权限的volume,对用户而言就是自己的`home`目录。用户彼此之间的数据是隔离的、无法访问的。用户的空间大小第一期也不允许扩大。 +- 公共数据集合放到一个单独的volume下,对所有外部用户只读。由于其被读取的可能比较频繁,需要提高其备份数,防止成为热点文件。 + +### 用户认证 +身份的认证来自于用户或者程序是否有crt标识身份,以及是否有可信的CA确认这个身份证是否有效。我们这里描述的crt涉及到两个部分,一个是Client端程序访问FileServer的crt,不妨称之为Client crt;另外一个是FileServer访问CephFS的crt,不妨称之为CephFS crt。 + +- Client和FileServer相互认证的办法 +`cloud.paddlepaddle.org`需要有自己的CA,FileServer和注册用户也要为其生成各自的私钥(key)、crt。这样用户把CA、自己的key和crt下载到本地后,Client程序可以用之和FileServer可以做相互的认证。 + +- CephFS验证FileServer的身份的方法 + CephFS crt只有一个,也就是admin crt,拥有所有volume的读写权限。 FileServer从Client crt提取Client的身份(username),限制其可以操作的volume。 + +### 分块文件上传 +用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念,一个chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。 一个典型的chunk如下所示: ``` type Chunk struct { - filePos int64 - checkSum uint32 + fileOffset int64 + checksum uint32 len uint32 data []byte } ``` -### 关于文件权限 -- 每一个用户在Cloud注册后可以申请分配用户空间,系统默认会在CephFS上分配一个固定大小(比如初始10G)的、有所有权限的volume,对用户而言就是自己的`home`目录。用户彼此之间的数据是隔离的、无法访问的。用户的空间大小第一期也不允许扩大。 -- 公共数据集合放到一个单独的volume下,对所有外部用户只读。由于其被读取的可能比较频繁,需要提高其备份数,防止成为热点文件。 - -### 关于认证 -> 通信各方都需要有各自的身份证。一个公司可以自签名一个CA身份证,并 且用它来给每个雇员以及每个程序签署身份证。这样,只要每台电脑上都预先安 装好公司自己的CA身份证,就可以用这个身份证验证每个雇员和程序的身份了。 这是目前很多公司的常用做法 - -身份的认证来自于用户或者程序是否有crt标识身份,以及是否有可信的CA确认这个身份证是否有效。我们这里描述的crt涉及到两个部分,一个是Client端程序访问FileServer的crt,不妨称之为Client crt;另外一个是FileServer访问CephFS的crt,不妨称之为CephFS crt。 - -- Client和FileServer相互认证的办法 -`cloud.paddlepaddle.org`需要有自己的CA,FileServer和注册用户也要为其生成各自的私钥(key)、crt。这样用户把CA、自己的key和crt下载到本地后,Client程序可以用之和FileServer可以做相互的认证 - -- CephFS验证FileServer的身份的两种方法 - - 第一种:每一个用户都有自己单独的访问CephFS crt。 - 用户访问其空间时,由FileServer读取它然后才可以在CephFS上完成操作。 - - 第二种:CephFS crt只有一个,也就是admin crt,拥有所有volume的读写权限。 - FileServer从Client crt提取Client的身份(username),限制其可以操作的volume。 我们选择这种。 - -### 关于文件传输 -文件传输的的关键在于需要Client端对比src和dst的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post chunk完成。藉由上述的方法完成断点的数据传输。 upload文件时,由于一个文件可以是多个FileServer可写的,存在冲突的机会,需要Client端在Post最后一个chunk的时候检查dest文件的MD5值是否和本地文件一致。 +### 文件传输的优化 +文件传输的的关键在于需要Client端对比source和destination的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post chunk完成。藉由上述的方法完成断点的数据传输。 upload文件时,由于一个文件可以是多个FileServer可写的,存在冲突的机会,需要Client端在Post最后一个chunk的时候检查dest文件的MD5值是否和本地文件一致。 - 优化的方法: - dst文件不存在时,可以没有Get的过程,只有Post。 - - 文件的chunks信息可以做cache,不用每次启动传输都去读和计算。这个由于比较复杂,第一期暂时不做。 - 小的技巧: - 可以用[Fallocate](https://golang.org/pkg/syscall/#Fallocate)生成sparse文件,让dst和src文件保持相同的大小。不同位置的chunk可以同时写入。 -### 关于框架 -准备拿出一点时间测试一下用[swagger-api](https://github.com/swagger-api/swagger-codegen)生成Client和FileServer的框架部分。如果框架生成好用,我们的精力就可以更多的放到逻辑本身上。 + +## 框架生成 +用[swagger-api](https://github.com/swagger-api/swagger-codegen)生成Client和FileServer的框架部分,以便我们可以把更多的精力放到逻辑本身上。 ## 参考文档 -- [Do you see tls?](https://github.com/k8sp/tls/blob/master/README.md) -- [s3](http://docs.aws.amazon.com/cli/latest/reference/s3/) -- linux man document +- [TLS complete guide](https://github.com/k8sp/tls/blob/master/README.md) +- [aws.s3](http://docs.aws.amazon.com/cli/latest/reference/s3/) +- [linux man document](https://linux.die.net/man/) diff --git a/doc/design/file_mananger/src/filemanager.graffle b/doc/design/file_mananger/src/filemanager.graffle index 4a4338488dc1157745023790ed576d42ea214f1d..069882a1e93a3471febd250f1b5b8acf894465d4 100644 GIT binary patch literal 3442 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 U*)jfIo42q22X*i4V{T^v08<^V(*OVf literal 3819 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%0Db2LDF5&JLFToW+oyEP;wf@C($1%IU!OXJXpws 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 diff --git a/doc/design/file_mananger/src/filemanager.png b/doc/design/file_mananger/src/filemanager.png index e6b9bfa48ea6371569c2d8458de55758270e64c9..e1926fc6aa43afe0a66a86c9815e3ee20744c161 100644 GIT binary patch literal 54827 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 MN-9Z|i5Ug{KLk%^x&QzG literal 57379 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 From 33fb2d6b4fb9e8ab317560733d65c848ff1b3fdf Mon Sep 17 00:00:00 2001 From: Liu Yiqun <liuyiqun01@baidu.com> Date: Mon, 8 May 2017 04:05:58 +0000 Subject: [PATCH 27/52] Add some annotations to different OpenBLAS versions. --- cmake/external/openblas.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/external/openblas.cmake b/cmake/external/openblas.cmake index 97b6768dec..9d3428cc5b 100644 --- a/cmake/external/openblas.cmake +++ b/cmake/external/openblas.cmake @@ -27,9 +27,12 @@ IF(NOT ${CBLAS_FOUND}) SET(COMMON_ARGS CC=${CMAKE_C_COMPILER} NO_LAPACK=1 NO_SHARED=1) IF(ANDROID) + # arm_soft_fp_abi branch of OpenBLAS to support softfp + # https://github.com/xianyi/OpenBLAS/tree/arm_soft_fp_abi SET(OPENBLAS_COMMIT "b5c96fcfcdc82945502a2303116a64d89985daf5") SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 ARM_SOFTFP_ABI=1 USE_THREAD=0 libs) ELSEIF(RPI) + # use hardfp SET(OPENBLAS_COMMIT "v0.2.19") SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 USE_THREAD=0 libs) ELSE() From d1014269abdaac1c09596f0808537ea66b008e5f Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Wed, 10 May 2017 15:28:03 +0800 Subject: [PATCH 28/52] modify by comments --- doc/design/file_mananger/README.md | 95 ++++++++---------- doc/design/file_mananger/pfs/cp.md | 8 +- doc/design/file_mananger/pfs/ls.md | 4 +- doc/design/file_mananger/pfs/mkdir.md | 4 +- doc/design/file_mananger/pfs/mv.md | 4 +- doc/design/file_mananger/pfs/pfs.md | 2 +- doc/design/file_mananger/pfs/rm.md | 10 +- doc/design/file_mananger/pfs/sync.md | 12 +-- .../file_mananger/src/filemanager.graffle | Bin 3442 -> 3442 bytes doc/design/file_mananger/src/filemanager.png | Bin 54827 -> 62630 bytes 10 files changed, 64 insertions(+), 75 deletions(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index 00ca6db172..16074f8a01 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -1,57 +1,51 @@ # FileManager设计文档 -## 名词解释 -- PFS:是Paddle cloud File System的简称。与之相对的是Local File System。 -- FileServer:接收用户管理文件命令的服务端 -- FileManger:用户管理自己自己在PFS文件上的系统称为FileManager -- CephFS:是个POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据. -- Chunk:逻辑划分文件的一个单位,用于文件分块上传或者下载。 -- Ingress:Layer 7 Load Balancer - ## 目标 -在本文档中,我们设计说明了用户上传、下载、管理自己在PaddlePaddle Cloud上的文件所涉及到的模块和流程。架构图如下所示: - -<image src=./src/filemanager.png width=8900> - - - -## PFS Client -- 提供用户管理Cloud文件的命令 -- 用Golang写,可以跨平台执行 - -命令的详细内容看[Here](./pfs/pfs.md) +在本文档中,我们设计说明了名为FileManager系统,方便用户管理存放到PaddlePaddle Cloud上的文件。 +主要功能包括: +- 提供常用的命令行文件管理命令管理文件 + - 支持的命令在[Here] (./pfs/pfs.md) +- 支持大文件的断点上传、下载 +## 名词解释 +- PFS:是Paddlepaddle cloud File System的简称,是对用户文件存储空间的抽象,与之相对的是Local File System。目前我们用CephFS来搭建。 +- [CephFS](http://docs.ceph.com/docs/master/cephfs/):一个POSIX兼容的文件系统。 +- Chunk:逻辑划上文件分块的单位。 +- [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/):提供七层协议的反向代理、基于粘性会话的负载均衡。 +- CA:certificate authority<sup>[tls](#tls)</sup> +- CRT:CA signed certificate<sup>[tls](#tls)</sup> +- Key:用户私钥<sup>[tls](#tls)</sup> + +## 模块 + +### 架构图 +<image src=./src/filemanager.png width=900> + +### PFSClient +- 功能: 详细的内容看[Here](./pfs/pfs.md) + - 提供用户管理文件的命令 + - 用Golang写,可以跨平台执行 + +- 双向验证 + PFSClient需要和Ingress之间做双向验证<sup>[tls](#tls)</sup>,所有用户需要首先在`cloud.paddlepaddle.org`上注册一下,申请用户空间,并且把系统生成的Key、CRT、CA下载到本地,然后才能使用PFSClient。 + ### Ingress -- 在kubernets中运行 -- 做HTTP转发、负载均衡 - - 注意配置session保持,以便来自一个用户的访问可以定向到一个固定的机器上,减少冲突写的机会。 - - -## FileServer -功能说明: -- goRPC写的HTTPServer -- 响应外部的REST API的请求 -- 在kubernetes中运行 -- [RESTAPI](./RESTAPI.md)接口 - -## 文件传输 -### 文件权限 -- 每一个用户在Cloud注册后可以申请分配用户空间,系统默认会在CephFS上分配一个固定大小(比如初始10G)的、有所有权限的volume,对用户而言就是自己的`home`目录。用户彼此之间的数据是隔离的、无法访问的。用户的空间大小第一期也不允许扩大。 -- 公共数据集合放到一个单独的volume下,对所有外部用户只读。由于其被读取的可能比较频繁,需要提高其备份数,防止成为热点文件。 +- 功能: + 提供七层协议的反向代理、基于粘性会话的负载均衡功能。 + +- 透传用户身份的办法 + Ingress需要把PFSClient的身份头传给FileServer,配置的方法参考[Here](http://www.integralist.co.uk/posts/clientcertauth.html#3) -### 用户认证 -身份的认证来自于用户或者程序是否有crt标识身份,以及是否有可信的CA确认这个身份证是否有效。我们这里描述的crt涉及到两个部分,一个是Client端程序访问FileServer的crt,不妨称之为Client crt;另外一个是FileServer访问CephFS的crt,不妨称之为CephFS crt。 -- Client和FileServer相互认证的办法 -`cloud.paddlepaddle.org`需要有自己的CA,FileServer和注册用户也要为其生成各自的私钥(key)、crt。这样用户把CA、自己的key和crt下载到本地后,Client程序可以用之和FileServer可以做相互的认证。 +### FileServer +FileServer是一个用GoRPC写的HTTPServer,提供[RESTful API](./RESTAPI.md)接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。 -- CephFS验证FileServer的身份的方法 - CephFS crt只有一个,也就是admin crt,拥有所有volume的读写权限。 FileServer从Client crt提取Client的身份(username),限制其可以操作的volume。 +## 大文件传输优化 ### 分块文件上传 -用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了chunk的概念,一个chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过chunk的操作来实现的。由于chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。 +用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient在传输完毕最后一个Chunk的时候检查desttination文件的MD5值是否和source文件一致。 -一个典型的chunk如下所示: +一个典型的Chunk如下所示: ``` type Chunk struct { @@ -62,22 +56,17 @@ type Chunk struct { } ``` -### 文件传输的优化 -文件传输的的关键在于需要Client端对比source和destination的文件chunks的checkSum是否保持一致,不一致的由Client Get或者Post chunk完成。藉由上述的方法完成断点的数据传输。 upload文件时,由于一个文件可以是多个FileServer可写的,存在冲突的机会,需要Client端在Post最后一个chunk的时候检查dest文件的MD5值是否和本地文件一致。 - -- 优化的方法: - - - dst文件不存在时,可以没有Get的过程,只有Post。 - -- 小的技巧: +### 生成sparse文件 +当destination文件不存在或者大小和source文件不一致时,可以用[Fallocate](https://golang.org/pkg/syscall/#Fallocate)生成sparse文件,然后就可以并发写入多个Chunk。 - - 可以用[Fallocate](https://golang.org/pkg/syscall/#Fallocate)生成sparse文件,让dst和src文件保持相同的大小。不同位置的chunk可以同时写入。 +### 覆盖不一致的部分 +文件传输的的关键在于需要PFSClient端对比source和destination的文件Chunks的checksum是否保持一致,不一致的由PFSClient下载或者传输Chunk完成。这样已经传输成功的部分就不用重新传输了。 ## 框架生成 用[swagger-api](https://github.com/swagger-api/swagger-codegen)生成Client和FileServer的框架部分,以便我们可以把更多的精力放到逻辑本身上。 ## 参考文档 -- [TLS complete guide](https://github.com/k8sp/tls/blob/master/README.md) +- <a name=tls></a>[TLS complete guide](https://github.com/k8sp/tls/blob/master/tls.md) - [aws.s3](http://docs.aws.amazon.com/cli/latest/reference/s3/) - [linux man document](https://linux.die.net/man/) diff --git a/doc/design/file_mananger/pfs/cp.md b/doc/design/file_mananger/pfs/cp.md index 80eed5d079..605c0b7c8b 100644 --- a/doc/design/file_mananger/pfs/cp.md +++ b/doc/design/file_mananger/pfs/cp.md @@ -19,23 +19,23 @@ cp - copy files and directories - The following command copies a single file to pfs ``` -paddle pfs cp ./text1.txt pfs://mydir/text1.txt +paddle pfs cp ./text1.txt /pfs/mydir/text1.txt ``` Output ``` -upload ./text1.txt to pfs://mydir/text1.txt +upload ./text1.txt to /pfs/mydir/text1.txt ``` - The following command copies pfs file to a local file ``` -paddle pfs cp pfs://mydir/text1.txt ./text1.txt +paddle pfs cp /pfs/mydir/text1.txt ./text1.txt ``` Output ``` -download pfs://mydir/text1.txt to ./text1.txt +download /pfs/mydir/text1.txt to ./text1.txt ``` diff --git a/doc/design/file_mananger/pfs/ls.md b/doc/design/file_mananger/pfs/ls.md index 8dc81aeaba..ab254cfc5d 100644 --- a/doc/design/file_mananger/pfs/ls.md +++ b/doc/design/file_mananger/pfs/ls.md @@ -18,7 +18,7 @@ ls - list directory contents or a file attributes - The following command lists a single file ``` -paddle pfs ls pfs://mydir/text1.txt +paddle pfs ls /pfs/mydir/text1.txt ``` Output @@ -30,7 +30,7 @@ Output - The following command lists directory contents ``` -paddle pfs ls pfs://mydir +paddle pfs ls /pfs/mydir ``` Output diff --git a/doc/design/file_mananger/pfs/mkdir.md b/doc/design/file_mananger/pfs/mkdir.md index 45906dc208..c11dadd61f 100644 --- a/doc/design/file_mananger/pfs/mkdir.md +++ b/doc/design/file_mananger/pfs/mkdir.md @@ -9,11 +9,11 @@ Create the pfs directory(ies), if they do not already exist. And create intermed # Examples ``` -paddle pfs mkdir pfs://mydir1 +paddle pfs mkdir /pfs/mydir1 ``` Output ``` -make directory pfs://mydir1 +make directory /pfs/mydir1 ``` diff --git a/doc/design/file_mananger/pfs/mv.md b/doc/design/file_mananger/pfs/mv.md index 8ea006bdaf..3929d43394 100644 --- a/doc/design/file_mananger/pfs/mv.md +++ b/doc/design/file_mananger/pfs/mv.md @@ -18,11 +18,11 @@ mv [OPTION]... - The following command move a single file to pfs ``` -paddle pfs mv ./text1.txt pfs://mydirectory/test1.txt +paddle pfs mv ./text1.txt /pfs/mydirectory/test1.txt ``` Output ``` -move ./text1.txt pfs://mydirectory/test1.txt +move ./text1.txt /pfs/mydirectory/test1.txt ``` diff --git a/doc/design/file_mananger/pfs/pfs.md b/doc/design/file_mananger/pfs/pfs.md index 76ee0a6917..c23ffc7479 100644 --- a/doc/design/file_mananger/pfs/pfs.md +++ b/doc/design/file_mananger/pfs/pfs.md @@ -28,7 +28,7 @@ paddle [options] pfs <subcommand> [parameters] ## Path Arguments When using a command, we need to specify path arguments. There are two path argument type: `localpath` and `pfspath`. -A `pfspath` begin with `pfs://`, eg: `pfs://mydir/text1.txt`. +A `pfspath` begin with `/pfs`, eg: `/pfs/mydir/text1.txt`. ## order of Path Arguments Commonly, if there are two path arguments. The first is the source, and the second is the destination. diff --git a/doc/design/file_mananger/pfs/rm.md b/doc/design/file_mananger/pfs/rm.md index 0b3760f332..64774c7ad9 100644 --- a/doc/design/file_mananger/pfs/rm.md +++ b/doc/design/file_mananger/pfs/rm.md @@ -20,26 +20,26 @@ rm [OPTION]... <PFSPath>... - The following command deletes a single files ``` -paddle pfs rm pfs://mydirectory/test1.txt +paddle pfs rm /pfs/mydirectory/test1.txt ``` Output ``` -delete pfs://mydirectory/test1.txt +delete /pfs/mydirectory/test1.txt ``` - The following command deletes a directory recursively. ``` -paddle pfs rm -r pfs://mydirectory +paddle pfs rm -r /pfs/mydirectory ``` Output ``` -delete pfs://mydirectory/1.txt -delete pfs://mydirectory/2.txt +delete /pfs/mydirectory/1.txt +delete /pfs/mydirectory/2.txt ... ``` diff --git a/doc/design/file_mananger/pfs/sync.md b/doc/design/file_mananger/pfs/sync.md index c317742e50..c921e8ac81 100644 --- a/doc/design/file_mananger/pfs/sync.md +++ b/doc/design/file_mananger/pfs/sync.md @@ -16,27 +16,27 @@ sync - sync directories. Recursively copies new and updated files from the sourc - The following command sync locally directory to pfs ``` -paddle pfs sync ./dir1 pfs://mydir1 +paddle pfs sync ./dir1 /pfs/mydir1 ``` Output ``` -upload ./dir1/text1.txt to pfs://mydir1/text2.txt -upload ./dir1/text2.txt to pfs://mydir1/text2.txt +upload ./dir1/text1.txt to /pfs/mydir1/text2.txt +upload ./dir1/text2.txt to /pfs/mydir1/text2.txt ... ``` - The following command sync pfs directory to local ``` -paddle pfs sync pfs://mydir1 . +paddle pfs sync /pfs/mydir1 . ``` Output ``` -download pfs://mydir1/text1.txt to ./text1.txt -download pfs://mydir1/text2.txt to ./text2.txt +download /pfs/mydir1/text1.txt to ./text1.txt +download /pfs/mydir1/text2.txt to ./text2.txt ... ``` diff --git a/doc/design/file_mananger/src/filemanager.graffle b/doc/design/file_mananger/src/filemanager.graffle index 069882a1e93a3471febd250f1b5b8acf894465d4..beb57cdd786e24a57e63c06ef4d6cfa0df3d8c5a 100644 GIT binary patch literal 3442 zcmV-&4UO_2iwFP!000030PS7fQrk)rzCL*hEjN2{z@8ud=8&9{4HyXjHuykMwKcW| zTS1l_Nd}x$ZuV;T8MgLj-(X*0-{#cTzQy)P*w&xH5J*CfsKWZ0?w;1D`|F+=X|($5 z&A^eaxF6V_`(_DO(2~U6u4mb9@6FP2Yhy)U`t|Lr)jzH6*ITCt>(bD%gHSp+uI+5q zrKOc>)f^5TUahXR)}(`-t!7IC8P)3g-jcM`55wW>YW4d1y21oirRxm@VNgBry&?C* z@eT-E0fvedT1!w(EIp+ToVDz3`1aLLtCxKI*6fD%72jcF?r*skzgew{vruTeA@6bj zEn2Nkb|)-Qx7}qSh&+iUPnnqSGqLm2Y7qKx$!|f!iZ^iWp6`u@m3`Q2`0V1s;o55T zmLx%qHMK%Od!kXpkP{TE)rsU-gHh<2*85Qq=G0Yk>eg8IQdI9+Q1!5Hcc(nJ?Qlyb zD1u4ZRHaX!(6Y3Gk*s`PmOfz>(`AWbs(k*Ox&XmdcUX`Y(Co7zpH-dV*;<=1O!Own zONhyu;n?9b%8BA}A&B%YXQheaxO~lL*E79ln(gf;)qysiw#Q^|wi7pGz|TByuz-ow znR~^8ec$fcGvk=FC^RTawqAmxX@BH7`nb`fTae@OoYBBF9lPh|w8D9<BI@RlbwR|G z-sjADOV!nCv@;=v17YB6EX*lH5Y|?ZvVy3DjMs#`riS!0g1?-0LWt*Q`Foz*yY6I( z*X&^EuyM1?oLr6Ix6&|_-bm5TO_p`Tc6e(%%&{?WlPqmyh-+SVG~jNSb>C^z(Olcz z8gL*Groi3P7Mby-gfn4m$jg#Ki0~#u2VX*IPbzYy`+aHB4q=Pmgn7Qx^=1LJ<6Y-T zk9ZK-V3s=JsIzv`QkGxnt2uAHupKAqjI-imZ=L6^34fj7K%ZI3OL|h-8H{-v*~wkO zn7Mly9nz&UqdND)3w+Mpz>a>p!=6Fa^RCzRm?)8v93KRu4jfY%z4~;1;kjYhan3K$ z`Gsr4w%ccZz(XW$a_5SN5a0Iri2w2#XuF={`9S>3xz8=4DCa$&b64zioDqjDP@P-+ zB4iznpjYQZ=3CLv<kb0xt~d_uUO(jS1?vJRpjWS=$^%NI^X>(bgcI*Fmw_#Po`cJA zGql0{^LCqV<ph>5>X|A=6|7-hQxvQtWT>(Tbf|)Kq*0k@vZ@e6i-Mr6SBM})RMS<8 zbU<fC{t9jka3yYx^DMrs>IJ^MW4m{_a#GGr5T$8BG3|jD*kJ-|#rY`Upo*+fMOS2^ zLQBhtDzi{DVLtN0C>kX}K3QcJhB6j&4<ePg@#VOIsVp6U)D7nLn)Q_<-Wxg0UmQLn z%m{B36~QmYB-(&Mz=jYx+JIBShSG?H8WD*sM<fc0NPt^xR2-400(pd7+jm(w@|m*` z4h1|AIe`>_t6h#=IFcNXSyG2N%oT~#=lin8EauEX0pVNoF#y_m%f0aC-&H|Ta95}B zoiU!s4-(ns)c-I^xLek+HaW8%?El8y-dK!2v;ch$JUEqXxoN(Yuwq4*E1I$_$ujhv z6d5B$N4jFDs`5G01QQNbmLu|c<vQSdBv8xV>RJ8YKdy*dXZn6hfvJ25who^ZCo8(; z^@hSa)2fC3h*vXI89+{C&<JOuz->U`J=PtkST2|oqy@K_?aWmjEslyH=Ap)`qN3oH z_QW||tP%^J3Jb`iv4ASVbE!fr^Sz&{K%pz8_m|$EHCLjQ4t<Y9tB-ML^!VUT?hMrr z5B|CwLj<N3iU~$Y*CDf1OJ{$f&R#m^?YKXBgkvh&V;xgB)Y$8&A*+f^v924sO6PeU zMntP1O^2==)nxEc5v1h`2q1(g;Dj2;nahkZcq}oDY)~(~^u>GW9V6uiKtI;iXrLS~ zOUe@tlovaL`tZT*=dq}V4euPaHd2USv5>{PH8cEZZEicKZH)MDHRo(=(=+A6+Tm7n zy<gkjKSmn}%7>@!35pob+D9#MqBH24{jI~Tma}(oIv6^q^w8{|y<5LM7turvKv;9O z4r}kOL8*a3yX0it_YUjq__9`0B8FXHSZD3MxCYiXMyJ1RE9Q1{-E3d3U3$&7)3ZR8 zy{k^c825(}(<U&j#Wj$dt8TA;+&4GggYNaS!KrDUvSxpqwb$2`)^THFeA>3gr@z&_ zh~bzXDV;{U0g~Y&g=CDa#)jQ#oE$>U{WH4V?>72y4NeeW^kE$cYx~Ez*6$8BT=>6c z8+(YiZycd!ZGCU;aAUV_ZXKHugV50#o;E<oMhDRAR_E#Q=CFCTy>+<J{<upbhEt3h zCj4!RpM&bpO|#~hjce2D!FKb|WQVo)W@FuK!EwZ3ZXTOLEwg=kIJmBN%(K9RZKLm< zzL^-y^e%tra|5CP#ivnp5`9nOeMIU2tOfJu9LoISOY)0HkLoR!rqAdN=m@|+6`cW! zw2G!_R2-E#McK`NKqvMwc?!}Xn<Z*AHK;+(qAJgws1(k+3qg7L^|52S7Wea_UqEK_ zT~By_KQmT!KJ0Ha9~{8un=~c3f(=#CFrie3?wXhihYp;oD@fI;tf`a7!4QHH`huTe zk?9l7dK3Mjv))8S8Um}p(0N9ROv+jBa@PBsVaU;Xvvo0YB=cbFn>>A^Bf2cfm`r;6 z+H?2zb2C$AO#G2zqIjCD$^ENGbnNajQV4fM(=%O?uV%7pX|kosmSYi*n}noa@PrYq z=$J$g7LfT57DRKEfnD=I0cAj`>(d67gmkVtpv*NYvvj2%C4?AUTazaS_B$77%G zxx;mc{@B1ls1^Y|RVyk|sH~_u2B^~T+z>MN`L!|{`~ilgpKw$<3NV!5Nq~9wL206u z0j3Nv4;f@ujEbxqhK{IC4B1fiWeLl2g(@l>VO_(js?zv<D_l{j4k<FBa1zV<kMO<~ zQJ-q$S$W{dvkDD~p{WfO07B6;y&QQiN1neKviQ7b2O;+*=2}vZhf@8hb^d3D;h((Y z<H>H_ER)-Na6o=ca;tn{atlZ@_e~2dp5UYM51YxNmzKZIO}(EulU1Jb0SkqwU`Fv+ z2^J4n$mF?mS-H$*f8boU>v$upGGvzJaQJn2#q)blnAsAIR#d|<pwBNOMb{01f~cZl zMNIe0nrbLUWX-Df!k?ZXPxkZ#d0-BUiAJEGpkhryhAv~H%wfwM_8az&A%S&y_>7NE zyx?TE7&;#Pk}pL7n+BPebyB2P6jha>ldFi8mgI^;@%+g+K^{-;DTG#t94+ipW~_gN zmy0OI*>U-=^{x>u6U-kt!93V#N_EHPZuo>*CDs7;h-^gNpy=%dis&<&scMw#yG>&g z3q_DG#=mU#`d9}`t>m~+wwhS0GPOi#!?&$u>`yQDDM~ZzKu#k0ERaW(yX?K^3-Y?~ z!Ffw?vb?=Pj-I!&P61t>s<#l8zYtXbS6T30MBw*2bMmg#Rp%OM`rvqKg~-%8p^cGk z@nFa6UUDnDBxTAF6VxYmV0ZEhU#2^5aU4Eiy;-a-jwrE54}h=^coK4dfyF`JaXxH$ z>E$=4!8(rSVv*e7-o-CXKx)AK6pAIHek=+a=Z@k%HYm7fzyISuzyJHMQh`|=z+uv> zX30xbd}8zKqSAT30~hLz!uj4~y7nNkF6z8gUX*rizw7PV?pk8m(21w%8CQ#Fn;gOm zOZ9pueO{EIcOo^{-CnZ8J<-MT!kjX$SdLYsdOO_hh5cLw1jT>E&=H|T41=XAjQAg* zV0i5f?S<&m4g@M*&hv=81MRXNbiE!zFQyxsea^#-F;6Xh*R$-4+a;dwS^*a$32Cp1 z`dUH7E8xb0_<~E|?s`{TEK9q|T+87LU(lWx^2INI-xrBV>V_1rygZ=>^IBNAz@{49 z)5~B1TH&<woougJ^TN;@>@q*Gh;p(^I1zo}cq~kV!tK6{(ilI3thk0v&$mB%E^|O{ z+sznhzM`&Y2}Ccb=*~Co&Hnx|QgEle?R0x}IJWkW@masKdE%H*USC&QEwcULti6ZK zt@gUv`~Wl?H_mmvaku(A{3864<`D>Vm;3|B82uC$7l@BHh4Njt;_xs`zkN8Tn$)mD zQ8l?y$;32MB|<G#Lqyk+t}aVjW_+NaQek~ZTr3UG3tZwQ-2Nlc33<-@-|~jfAwCWE z(T&)5xqyy2iN_IV*1qeE@5huQ?|RY2(1CQJmC&O=(Xzul{QdXufBWA*|CP!|VvYfH z5F<4Nn8*2D{F#9T(z}RRWDCsg@(1!ByY`0>pY`PKxccLOue+h`-_`6V#hGS4NZf{p z6VJBZ@o~C2ak@3zwhMi@`KVtX`93sS)ad!78|A+Yu;HihY1Unq<><o&RF68$(AO7} zh%zepZb7r3)+m{eP6>`i4o`G{W;tX$CTj5xyRW!yTgjwr_T-#W@WF$a<u5JPS*RIq zZ^04or9dq85eF*IKH(63O(5SC$<G_i=@1H%6XuK(<Aq67C>XIV@ROekq!*n^Vp0x2 UX4~j9A8%j%AKeFi?|ozd08lvlWB>pF literal 3442 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 U*)jfIo42q22X*i4V{T^v08<^V(*OVf diff --git a/doc/design/file_mananger/src/filemanager.png b/doc/design/file_mananger/src/filemanager.png index e1926fc6aa43afe0a66a86c9815e3ee20744c161..d6b25b7bf2766e78fd638ab9103af7b68e44b90a 100644 GIT binary patch literal 62630 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�aY3b z6;(cR<Q>qV5dqFq;P1|x-O^h38(ViUoI#aGd$$bup()N7G@7Q?I2s_M^ci7ozyfq~ za?%0rp%UcKH$*zG-)ww-dgNhop^vJP#Pk$ruWE1UtG$2T568`YSEf<9>!O5&>8Cfw z0uM;sb(fkPP`}4zWMp7g1754)<wiip4C!j{IvsT@X?X;I#Dsv=a5(B0AZIqeyljO0 z-B@9v;2qFa?gS19iPUh(^Y(CX2lwi!0|Vipg0LDcu)8vt*TN`|*DOd5JqI;^2Q<PR z7(xYyg!rI_BO)T|uU-O)6O1KNT?BPYOG}m)fLW(mpJ_WYljMek7KUC_Q&BNKb=la* zxe+p%s__wWbmaI#6Q_R9#>tuRu7rbW<6j1ri(c{Bw2x<jk)pBL!TzOs`5DCE`9$lU ze9#V^Pf-yKB&}7hHVpsz?rh#DL%93L-hjT9RirqPi<o5>^*wOW(aWm3H0z)q(I4N2 zBX*Z{H4Axm3Q4;w%%OFK;s0FGx17t%$uR*As39WMtN+?)+73i25H;tUDi$cfipvT0 zWGCD3>TT|LpdC5!d>@o3sLL|C_@6$7DZdH{9z#T<67Sw$X!mMA$HtH+0%!?&P&&Ry zPfzdVt8Bu9>~PYBc`G02++F_xd}Fa;A|NkNnT>QC0*AZ`kQY3$FUC3)HgfX61FeH} zvav&O;>J@D;KzVvaD0H0l-d{=9_|K8Dt}T|?s~~8UJ~))o^6jMq!S1}T)zP<bf4AK zkeIP-cE+<<0Ip<N)WxOo-Pa)A0SL@y&4POUkBghz26#_BfPR6=dbMLY)UWS}qYbPf zN+jPKI>;k6|3<7t3!~}~iSN-8A%f&3*kVG#{JMjqfR)S|kX;Y-aQJh^P~?N+1|JBZ z#HR!wJAh;qk51D$9zn+p@G|v!|2aB3is$=s#EVfu1KrcpqkQssxP;{VWwZ78PX<2b zI0*>}46ST8MyY@3wa`)=M<!;`w;J)-ksgUSZ)1unZ2Y<x$Tec)h-;rEb+Jl>6i#9* z-pv(si>L_^$wDKVqH<x2m5Ic{ppU2=BgP<o?ElRYQ@eaqwvE7A&2YSVR+hx{*plFO z^jTQgr@28ifkC6Bh&b*^L?X&V6sdJ;DV*RxQGpcLwwo=2*6a1Ky_wRKUuS!9N}4v? zDW`6z#YG&qqfTwvz|A)ZH-Yke_oq0q162g4DB4IRI8IG{09C6py?G$|%!diS1#rwk zw62!8Z@~AV@>SLmqCx^};+beLqjpWp*qkD5q(k4*xk$4w6uKbD0AAuS7yTz86k}y5 zR;^e(U8APNzV7Y@{z}j5AH*EylmZfmAoa6-?rhcaCy;kGUgg!Fx?h%dUQLdNd)djd zUtsR2t%1A~KcGysM4_8Bo9NYU5>yM6d*kgb4V^a`rL;wE6hW7AM7JkLBP3KE>q`aX zRD}Ex65BnJxXXu6gsbt_T3pV~M|qFme)Cg)F)O8OwYA0^(@o4}-Eo)}7ZbD51QXE; z#M)Wxf-6bAg?=C=rYjjbTZLiMpM&LkjBZn9O*zOTNWiwBceB9iMwCn#u7yYg*#>h{ z={-O|u8FE#XPzV{FF##lBJYI0nQ`}<O7m^}_Mr6uMZyk5#OhWL5!9~7jjgrAvfU_x zcjK>5&mnugho#e5qHtqz?UhLO4>#LGRh`h`(yA5@TaOZ+n&H(I72_HTQ!lMNK@X74 zcs$c|fAF7LO*2dhlD>-xrAM<Rme+KkP<;DB*u)FQj)a!g(ml7lmG<A$^$$M#N+rr` zo+@me0T3xKP~)Hwt~0}f&k%XT>{IeaJi>T$FzzVl52!4^fC3Q<-t^*VNp0)?^=?Yz z7!X6>W?;&&@m!LUb)KuxIdU`pRcFCM8&UNn^&l4E?O><>PG<7+q#XjNf*ZZkSR>8h z=g5VkINVF|c4vx}${n988=jtmS}E?52~i7aE-fbMtrvjHSjrB;AdN_vf%t3hW}38Y zS*liFN06Dk@b2$z8Gd}!!DV(Wf~~;)`Q(wIlG84%%OB<CQ1QgxM8>5#P3N9!+I z6ga39(!M#}{0qb-4$4RjgdGZ?p>v@<@76!7I%n{QeAx$sXijefSCpj3ikEmSV!gif zHPDdiSke!m4?ss+g6b>h*c*eesVfb=n(~zr&=ay-0!SSm&$|YI{UpbhGyd8f$cH9G z@(s4-+|5tmAljWuRo#iPb%4$=&lH|SJGw*g@#a%cUmq<s^+y!G6K_b*8SKPrz*Kfk z^(v{`1ejU5q7w_a&!t5UOA$UobTGE&5}Eb%BOqN-9U8QGlGWEx)rby}MEv@SFzgu$ zFqJKn9I-IqLmR(@0$OQX<$dP=DFmUWc7SzScI}R5uZRWI+pl{VYwWgVuDH+GVYhKY zs~K8OMCzp{CMV-kQi|ElX5Mme%)FMH1_=^kpGdTz3E3(Zr0o)p&n^K3MUK8B7<Psr zF*J10_GA-2T_K!YTZ1HQV3}Z7=2W@vy#G|$PnHk{^(3_ev~m}-%nWxjZ<wJlSj~eN zL(<J?G(0Y*lbLjUm)*~#lhzbAdc!9{H*dP$YGpzXqMs*|A#m8*B~J#k_g33gGfAhG zvcgR95t54RC!!}j9V0e>?*v`?nUUys&$3A^KR@Q{P>y<B&KoVYFW<CtOg-~qffCpl zq!YOxR@?^-G^e=*5YYF_a-2Y3(X53jdie2g7Me5okEIodEfCc#FOFB*?J2qw6BEbv z@w>iQc&r3Om5hFLn{EQel$LP}QrTI%G5$V@LI+D71~FjP2Urzl;_<E0??z1DtWH0s zPUj(~LL`vca=cZ_md{&Qe!!2YD}zGQ(d{yE8QJ^+>lz}<0<_s4C)yt_7!T*G#X++@ zf7xaGHH5Jo;vXd=A#6?$rQ{TmxITdL@PpuWCyG9F4Hybj1Y<GNe|iUGM0^$ylyUk` z<(%pl*kO%0bDsH>1Wu9DgZEwC0TRX%K=-{168=iptE0mg6}^$f<zWm>{bSSL4;0{Q z0Et=J%5ce!A>~)Ezq|QM)xfcUaM#p_&8S(DEgq?8!`_T)tPV99vn;hG;CgP{3U133 z<R}~1!HZ8CCVaHuW1E3RxAdMo?KPm4izQ%Y3naF!5Z%EK9{oP#T(Xa8aymYGQ2`3< zl>#ujS*BykHI;>8RcS{+glHIAyVWO>=29l!fO@qE=qnsm0!P!(htH;mE}9t+t>ykF zfS1q_3^`QWJzJYajOb%l?IGF|Ad)zPL;xIa9b>_&6Q5^3bi{1v@5G+@M8O{{H7gk| z)3P#GseE64Ny<j+sR5=hqyv#+_oU;MdgAr@L!eKwxU8B7cMH1Az|@=uhI8X$W6A9f zfL6z)c);6SENB%K0E<3qb-l0+>T}$m83}d$i~z3O@g9mX-1AM8!N%+NX<{T{Dd78) zNo#}L*%eHf7G0uw>~}IXnjITsn#93B_^=nH!X3k5j{Bwcrhrw8Mf4MRgT-d$tuq?r zn*i+0$bSh@eTza5LMuq=0Qu(Ti$zE`c?hN&^r-W|gtCdESK-OF(5S%c9s){|WJi|Y zyPp1+4i1;~syC76wT_eRu_R;b7tjJq2D=5Sb>?`NRZ&@juw_kqG!#@+W*2+YEI(R^ zTz5#5dZ317#U@322_bvIkd(wrF-p!&LK|>|v4mkJj!5k+gKgVSagkk5nkLR#9Zf>< z2~Eu|?Kg+?r2JI}7HXzI*NOr<2>JB{7!-X6{KW5pwwaCF4Bx{w&<OCXCY4o!VufKR zB^6FeN@8ifi)YZ-lWDSe@S4t(CIB#>c%ou6B6XZ32+bsm-F&j!4&)_(Jp&^R+X0H` z5aCkD0V76qrk>FS&m461{2em*#wDnk-^iiiokcoIxUPUcstkBvwTMVawR(NX_n={A zuatWx21V_!0L|}uJ`UOy7l1EL-tF?hW_yZ76m4UDeNmI$M-Pl)rNb{YYfTlxx2=8C zpbZm?RNPlV^UDDTm#LGE<4N4a3juP#pj954oZebQfl%%1zs?3ME4%}AYYQRlmWH@< ze>VDRJ#HN#LUD(`>aV0<zb$Bom9lCFhG(+Y6~Mv|o#An*k~EDrBHQhFxX{=KVnPlG zn_r4{00M&Dc%0-FA=h}T7j0SxvKg$@u|T!!9vE}Ku_Hc7GO&=BX9l-IVh%k6Th%hP zL~maD;e8xX=~W=p0s67mU%<3=EDe6XMCcm$q<xUbf`s6lDoJ5y4%L_r3ZsLiGX!kD zUmfu`f`I~P9E`mVy<R%@oaMg^61?l=HymsL`%Lu($1P_OyvH-(xZxM?{3f7;s;1d` z?X;Nn_3KLzR%Ia5<wRRbf~U9g3l@?#6gH<Eaz-ZXi<1lum5R=Td&GsbOI3m3%ict8 zSTl6i&AQcA?Cw;dJX3-lGPDjBD0*y^vOxd!Ve4{+rFi_cfV(nC72{OiO&)Om0!*=s z8-jm-MxKMFMnLUXeQW_AK-t*;Qj%R%cI5XF=)tTFrKUdVl8KP5<_27h(mK{fO??wX zGZuq7!_k`L9pkGa)sA^4yl_%$sHd{My}h4gl>QSm7VQDSaYKfIp#b=<cQg=A<7PXv zB)8@}L&|v0)+S95fhH6<2=+ac+SH>@`7md|$bG8Z>)tHsW_*}Qo|O@s03z4u{Te#! zy7jXX-oC5;G?wrF0s6^A$}oe9soyi`EOaJ*1rRish?EI9E$yHGG33G)E|Cq1v21`D zww^1Z^y6$rhGY%RKlIx{25pTM<Ss(4?HZn}sSFDX%OWa`pc??6tpDUx_5ay;L;F7! zwt|n468k7;-Vk2L(XmdkT(guyGJXf(c}sWYBHpYb`2dPu85~XLEY%ug(n%yB{~&>* zZtcU+dM@X*ehfM|>R`fl`A*}lz5x_QPAYH?5OGC*V5q7U+CJa2vuQK>iJrbK4E_g_ zBA<yrQY?mCcxU=9dEEG=B<KC6Y_2TtpZSo$f=Mr%*Ms{N5(I{15U6!=Fwfdw%>4@L z5grtPkK^LR9yvn{&BON~UkfJ~r_u5Q98;%^E=L$Xp9Jr}0ODn*=Sq3oX-Tx<uOLZi zhYS>k*`Gl}@W8YcvDr32y_daAu<?zz&;@kfRTtP(S`utZ)bY!^QULwy;&$&h@Ym|A zK=d;9hI@7<=VOfB>#amMSWV|OSZUCrC@d@l0<xYIXI_l|EZ7aUWlASlD8BVdMQrw~ zkfIo;V4QeI4D^cUZK<Z`jRB|kG>8V2BA5EKpWniu7JTd|dC%>7UeElS{@F9?@Q-4` zUyKizTh%~s*#OsGTAT1mTin<hYJck~=Dx6^M}Mgb<gUiQqy|5OCdFn7d!C}Hv~s(A zwKxqA=3Gl5i%Ia@-6!Oc&!As1Q~+jqP~tU)$+m!O6s8hiJrU;Vi~FKM(g)yRVJDxZ zV&DT2(kvSa1#m-Y9UxAf&*?=Lg2;Ik>JRw-3N)Zo!$E4{EJPwGs0G0TEH&OqjZJ_I z%{B82CKTkolB7Z#>hPC$tCj3WV~qxqGadtlwNuMqvMexU!rEZg0Ld>5Jl9ebTBOEc zeU+ofPp8nJZei-o=hr>cJ-|ZXLX!inFx_o(B0eO=5(b{|JjH>(%GVT1rV8kL#a~EE z!J?hybb#%*3xKv8JlA9z`bkAe=~|VFi3kN_N+lbWkk7ZBFDs3?R95=^&8pY9p=LX1 z%>hJv`UD{SECo4Ov!n6Tqkvi~7zW&`!NcE?e{zXJT(E$C+F+{%U(mCK_l}Z^Du_gp zi@>{uOeWL#*!IF&ae&pUp=giF<_NpcIDwM44}&#zdo;eD{s%v&o}}iuCT#PJu}C|S z>CE?l1@165`-3?d`sCDnW;-S7>o2~eqpVa%^VNNaE)e0hz5A;bs^HC}_$-pAnEJj0 zENdhkS!&|d575szLjw!obF;ln=qTHaaZnIR-a6*Wa?{JcS8zs&y#xxpLA-D?5SX45 z?%H^ksKdj}%zb$O^9f8SpHS!<aRH@>d8~}g-$WWTgnTa7Ij)*3nuCv01gRhj;3#r= zO1#6;RJvWC<GDXCdKh$+`S2mVuz6k2VQpLO;$ZHJK?HHmr_`xgzQyK+p?lX=(AAuR zgj_J^FzfP1usj(ncgR|Ny6;z19phbr)#MZ~MVKT}3KU4ZXa(ffcV{R|9#k?fZhFe( z5ThIQK#-S^mY$}{a9@A;qYv7=O{>00WEg&`Z)E*C08cc#en09Jza2<dIHW4-KYq+Z zaQZZRz`RsUE&O%aI`D?3$b`Lbtkv!K*W>IfT?)p9toa|hW2t<~PRInA(e!_f*RJzx z=?m+dX6bM2jF#bnAT)mwXbpg4B4Dee*b4f-_*t0xArSG*RRt(U2i*0sUd>j?w@R%b zvQ39YhQ0aFk#tDmYpV8GWVzg;QorPw!aLmS&dljk0t%}H62*IykDa<cakNT<Qn;4O ztQHG3KY=rdO-cF1#4eyvS+5Wv7IsNvcP`8Sr?(8Tc}Nq}cw<6E;=snxSvOK_M5C?r z{3QCmd1?D~lcr|Vm<PItA5n4wc@Mjij>+Y=jM?_Yz#gY<nd9L~UZdV$?$%VxS&VkP z-Gh`|4XlR<YpF0Qa?{`E3N+TN#THE=MLqok6Rt_5{s1r01iGfRCX<wC-88vt2v1=H z4z`3)bw}7J6w?qGw$2MGUNaa+hO{yp6`b9H5W#WDja$<QJo#)cim{YZlhK57p*geT zrk-SGgFKe%k=1nPTt=5K^mW6too(&2-9BmhZ8hOTrsdm)y=Fa+c;#TBu;!+l<zk9~ z{zFR9yb02hj_{v1a_2i!m>2u1-)w(oS-5&$(($`(Iji5nFD3AO-gx2U)Ymm@-;zbJ z9zvBadwY2}-Q-{ffIcRmg2xwdZ}7Y*)}jVs#B8SIGkB<QLBomPc4^zS8(XYXFQeHa zH@$q9`YzTk%yw?uvL;!t>KmPg^>+<ZAfmvdX~lDM%1)Zx7^_Vn((T6{hWJi=klWlp zi!>hTqDyOFR)|#KQO#kW^eTEN91T)WW#wb$RyEtAo4WR=^H@Fa7_@fPcG&fZu~Uer zytt`sOBK|3bg^S}*vHJy8+B{HN_>eGi9oJury3wGAb;7#rcujeJpy0bW}i{@*dR+w z`E}+8zgi<)=w<oj3AajU%4J0|k0^;5jh@2p3tRY0W^Qg3NL%UQG@-o!fTcP$dtIK) z2c9k2+rfv9(ZR{AMv+4ADlFk<q96F9T8y`Rr<G?0W?7a@T6L+6PSn&IHKZ01TVD?u z9p<v<{di3tlU4Q>y}qTK1pmflUuhND2;%BXqtCjB89>lixY;by&Zn$tes7n0wk}Ri ztD?r<ccYuoY8{|>^sB_@@N%#IaD8#Z=FPX*iLIQ8VVt3Z0G>9-45C}%hsMYi!j1SW z(#IRX@3y$P1?u85uz?@}2{APwr%RfhhBX_6^MoENMtlYv0UIO3RnF;>G&Tm<WF$K4 zi=ZtP4q0cFY6a&!)QMZPR-H6%ZVQ{-ii&OviacI<wBl7^zs+~?N*C~0@JLDi*iGzy zA`GeRiM{SBfhM`)e!bOYjsQ>j?~Q_kg=-g{Cd03)X?UK>j+qB4KbH+GQE3@WqL&A7 zDLKEgS$wB_WRfxYVPw{&ffsss@2x2FD^Iu(DUO3i*u;q8lQr~-Q~2Lc_bpmZRCB+F zsfoo@4Y;Y^(ryC=%H^4)FwepxCuozga_2Dw{WzE?TcvXAPibtw^LX;r;+3q&kO{d~ zJ<Dp%=UEz%xR9R092x9zm#bz-Jt%=g`*}kpl+c+T5f~pcwj`)3fFk=SJ(F%*M4P?U zKtglSk!*X!eXYY7+IBLftEcbH3~qkOVmSWdw0n3;UWPRBs{6cMvlVywkd=YfLfx>m zz26sVmBwV|hGMsg-$5)>Wn;>(T-WKbKAGh&8J3^**jAtQOx*b<U&{I>tFw#E6BCW= zt;{w?29ZQv0EYdh&ELc@Ep*zRD{1!_=HnGbXHu#PhbWFK^RtX9Rbqf>`3tPbncLrQ zk_<L(9AK1l-*k6c9eAw3)%+JHZ+6SVqfOq?mz7G<GYFZz%rG`3ZBuhHcb{UR)gZgh z%R?2Xu0{E9q~#BH(%;(%Dy(1ps?UktKHli%n@;`>ccr>L9!!rZq@#Lf<(X<JzfgU{ zya^W_zx&Ie?sthjXRtxKxWj$)#76F)!pG7y>U&HA2dU!6Z@W3X^7XwO3P--lL&^$G zl!puEjO}-}7BbuFko?dG9_s{5#$c+*&M9kJ7eMdQN@owp)F(;i*}!3zHjC+!9DQmK z#+FMbl!fDajNaT~0gP@I-fTAOgY3{^vM7bi+`~i;dRDDLbbF2B9}5kZ?WyJAqt@St zQlk>jT5U!jjknLWlDl(;*YH<g3KKeAJzJV<Z9hFjnyx84+b>!jUSyws&Dfaig%->O zb;dh(=j@=??&+~hoFH{Fcz)Ro8nEn+2g*)w)jS55H;+P+KOgEJPlsWq({RVL4<OVj z*(}%?L4EbryS;el$?6cgTa=QvdOPA5v|BkpwliLKk<8yzK2arqu~RI{#vEKj&RW7E zBe*+VscvcE@T-A5e|DFU$~r!8j+SH3W&0TF%@&HB+IGov2bp?xY`%A(5dd;p5kOk! z#<{dK_msZx(P+1s_Y}`MN&ZmALLa=<kGah)m!vvlFJ8o6ntAo1v6I2+YF=yMyM1&> zAh#0A@h@?Yzn2PH+kXNH0vqfMKAPDVG&H9VseDJ1K?yh*{_<*fMLg|StzvbCK!HMY z>Ur{vb&I-<Gw5qBqwUO9W`nWPRIw5x|Jg7rkNb6n6k{of>9c~*oXQ54{YX9x4F2r& zyR9)=5jbQObhC|%sTR$46Wi?}cKWg%@yXaL!2bJG-Tp}O<$=4C)$&?Qu6Xe$+7p+B zcZc6;A6_+@J)(_Lm7PmmQXZ;b365^-qz0li<grPg<uL3je(=Wm=SY<)A$<yaCp}Sb zB9+DG@KfTM0ji4CsqXf-mPZL?OK|NaiNebQoFtpQMG}#*j}wYH@|1&E3Exva;L;ew zwvaZ6uEO+=A_x!rH3|u`!!SKY(p*iXD^DYjCbw#7*;%PO#cJ7hw!J1ujn+5ph#5x` zLC1cT)Q9(|;fF_g%Jd1CpQiJCI#`ZU*t^XB=5o(r&Yx3fp_i(u#2jklDd1*MQ|-FK z<&nA~mT<w$owpm(^NYqHt=YhApe-!9V5^2kL$fY>I=sot|BQK?uFS^Cm(@?Z3+7&2 z>SIN*=5G9E2P?!PpkVODIwUKxK^N-Pgb4Y%8;J02Rw6X33O<U=ER)RJIS-!+BIB@Z zM_N>jTovOEi?2)KntFKek!>f=%b!bQZIs+$O%}$S^;F7^X<_7>5vi2wsiiAaQ*N7d zooblw{hmDA@<~qoQ?-?Jgvk9kap|xv@KCr5(+lEKIwq4a8KZ@?o|WBp{-DfZxu>3? z$xV^MV4{GW2PL=OE&9<+ZD}%%jqO0@5AGiuQ+mJk4d|3JVZ(5Yo2q^H*?**E#$e2N z{oWq+KW5K!C`;y?F8#>5gpvCBmjoVxRuhl;{RF>KI^jPN`pipc&7_^B*cRQ#t%cbD zTGSKJZKV6effR7+)4`2h#YpY(rG#?$liXH;)P+e}fywTD>|-ZOt^tqM!?5G$0a1m= z%T~tuG;y<oSAtW^=Lk(@;WhWupN}N8KfbY43^I!x+D**lMo`-QJ?zp%U*{*VQX!@% zJ@LnHYQL9Y%;j!jr^wcT7#d!g-a2B8P~PfFZ>_{`fsOO=-Xb?>rQg9&mALdzQjApJ zC#NtcUy0qw6(w7Z{7#<e+d4Voq}8$t9!H%4?yZ#ue@y<g^rDod&odTgQpGn08mYyO z2^6wND!&NeXh9yi>)y3=L!359T&UEviM~z^N#mYDD<Y(Bm(a<Z%ZInrkmpF3c@__W zW+@whO*(O#w8y2Ll36qO1R_sZ4&fGZZU35Y84+jCGon4zU{^_l^C%dhiZ3)GVfs?> z?oG;4W{XQot+~{vdS~8*v55wl?V*fY8ck}}TjQP_HiwT+qb?2kj`V4n#eoN9i4k^3 zl@^j0C&8qu#!W=2^WU~xOHE`@;9@is`ZmO+<QL?r_m(({dN+L72-YjJN(sJ8<@k6X zLWlopqowJW*Yu1&+g>s>#nQNF*z;}C<8htBBVNjB{H|6nSEJ(nJ(NDNrl_H$S0n2~ zJ#&d!$y=(YrXLBaKgfnkNcM)Q(MT#liwgjazHCLmf=YqGe+(0kb}VyIP?K?*t?*e| zn(q7lJ(bbkEn%-^R21_VrfP=ErzE+qMXxUvuRQfQ{O2f67fl-q_U}#V6_t6qA{F~M zEnG7mP5FmTLM!)uZHWPH_&JJ>TL$;T5QpoM0R-SkD}*~F(*oi3=dHy*2T4GK#KZ@J z7)cW6fH6lmzGEbE8Ql3PqL)UbFmSe_c>0Vg(LuX4Z#jyDb<gm#Wm}*_X_L6$%0kwk z(tFDHE@%bq&yJh_61+%(p6QgZA$rQp(M~3g!)YFnW!{jkdO?AK%w74%SEz3pQA=+X z%ckRnJ=l%DcqQ#dJpWZw@_GiQ653%M4dUXT{5<$q3x)PlQ9xcZ!Bc-oXb0xIuBBq{ zjL7SydU0M`+Zt}8AmlBa{mRbDtfAQ0r%L~S|FSq}sm_4zn29nB-}GVh7U+feysZu0 z&6zt|nyz*$Sy*6B9v{v7uK3TRK7EoY`Tu;)g*gF3y_k1aKs+1y^#9(@zuz{t_o0^0 zV{^rWh6U~TsMVh|z$YoPQ~ew2{+~bGfmOi}wV8Wlxu_RTB}7vE=U@Qu|2`e~IUm{o znJ&n(<L}PUfj?#VX7vC3#?zZ1!G&T3$Z`!5+Qb*DgtwrHGr!XN|Ju9Ka46e0ta-gf zR3f}D6(y9he3r<rY}tllEHk!H7+D%2WSLZo?E4s#wHRC0kZ4nOvL*)E$x?_!`R<va znELzu`}}Y?j^~;Cx$bMf&+~dl2h;YoxaA<`9N*Qrp>mEe;R|d)v`a39l*F>BPJml5 zZUUW*GwN(xc24m~f2CJ+8*Im&@?bgRb6z%{kIo%uro`vw?fxQvR~~RE0DEhYy>UjW z41mTv`FT%ou^VY;e`;j{Nk>u;=^MY8?ruuM?0h`GBS9(F2yp|w<p%Pttu7mP<$l24 zjYdI%j!La?0Poqll)q9Z#2jHfS7~LNT@gR6`mCA+3nw^LO!842n)@tgRo5$->s=!^ zm6ZIK&6JKVh8YL;#~&maHIWt&hc7D*n@AFmcVx^$%)O#IpR$>fPtd=_1%HihV6#Y1 zJ3P;}D->Zmbb;5gMLq4FyZvYs<z>^;7TE#%WQyZZ%$i(4)}B+SAmpDAA8&7-b?`C> z;9<?h$jt0BThp%ymXDuIqF5k1cJzDfxZA2|b;!#aP5v}ph(7>{&b(A1__7Qt+WI<( z){|JUttwM$+Emvi-)6cPU>v==Na5}G&_F^+L<fmi3VEo}jNi{4KAP|#nF7xIT1|nS z)Qtk(Z*;*sU`Q(b8HvgPylLGpAegV~LlGZ8Ed)|I2VqX}dnL2@dW58xcgF@Z1~|LE z)D}*vr3kx$g%WdSO9nN!se<H}$3-?6mwM%egWEMlcH3lMNY@^rbbi=(Cpu)F0%*9b ztgSB|?qPbQ;onmBspO{s<M;ilf`Wtp67ghA@n5;O3Yc`|_`fvBR(f~LQf80mMHm_a zENs$|VK4~ZR<8hK5*rJNcz$rusT#S}f~5f96noJbatpj;k>0mMk-jzRg>J5@i386w zix!8pn(|*d0`zhsiDcJFlIbj!OjU4W0>IEN31RYt$Cf~THcU2)*roR287H65bT%df zuMDU|SexX-Efvy*FFJ193}3;3|4Q<a1jcSmXKY!H22;UsEvx7b@P?^=K~wuE|G0h| z$@25;)C%U%-=LOGUV0fRMePO@=`n(Q-j8S4a*;k05pXG~Jisq*TW0X`4v`u}P9je* z&Fh}WNSmr3fJ*GB^6@5x)>hvpeeRL+GZ0Ab5)37o`7}G4zU@ZKQ$MwzWg{{6JIvOe z*pJDnwRb>~=LUX-6q7VbUk|hsn5A>ob+TE3R)zNLqJCIrjDH;X>UpQo97G8%KN6~^ zr<V*^@Ot2&zm}r>r9=c+waF_Wo0~IRUa`hAEoZSr(<}yR;X+PqI3!2Wg*wjdiXiV# zhZ5qw?!jHT3X8RbL{1~>hq;vgB+Q4WdxgX-*xA?!U}TsS;#*^t6uOpyq>!GrV?&*@ z*a5+QVIA?J)@kJ?D_Pmy7omR?ViM8b)p20EXxwPhw24lF7%v(ThBYK*Nd(7U>WAq; z$(4k7(4+)K4=XiHE-N!81x_Omxx#KsB^_p<KTrjzF?{*b2hBv<#>9JMPGOsKOfzqo z(w!*Kv2(jfq#FUb4O(~YrT#Lh=x(&FT}n6N<~)^DUv<b;7a;y^WjfWw_|ll}#t689 z!ANt=MI<qEAGL)dj$4|A<($2&GG$sqbGnIO_KrFS`de&rXco@9k@Y&<4Y9H5hpAN` zO{#TRv5UJMgZ+WNf;q|1{+8`wzA=y)@UdEg-$M8eAqa^Bs`@qs{gdBkCi=(81Q~bp zWIO4+fJ^SaHW_j$O~j2lmbm*i(z8%sh=wn<NPq+*r|<Y_;#hBqyIY#N;Y{TzYA?hP zXh{Val#m<ja3VUQJRgu3GG2?Be=_4&z%3s(`QglrYSn|#p5)Ywyh<HKpKfo!atmrK z>P{!<Y*d|k^<AmFP?n@p;9oV(v8je7pud1ShzW1aNF?JYM{dTW=KJY8#+Zo-yP1J% z3sP50wH)mf-(W`QQBWZW$S9YX5Kwc|dM31zsAZ#jydfKdhjk=4n^5@<w`CFOI>=uu z?zv_}kiTR_n$@=0kSvwJX8syfg+Dg6nH67t0j4ptkWS^iVmmTVQm-0I&s1BOb2<x_ z@a%7P)8v3%`=$yTgrU848%NSDGJeWcigwmA*Le;G`Es#G3uUz-B<edJeUw7xZrwE< zh;&dWK!_f68o_LfHS(@hz?cmwnb}=X={s$}{F}y@=s=bq<9VE?ZW#YQ{PGqlewyKh z;70O#(HCn&)oqc|ps^6R4rYgPt1Pk(Qg55?CYahHAGI$yY5mqZ(qJC#9<hI3yI?cs zNSNmrRrXYUBGDs_k1wbZGU+d6T<*Ik<oP_N*fLlRui-cQ+8S;VW#kUyzE99yTsH^( zEBmM)3`L!lX(0P~2VbWR#YFchH#Hcojc6oQrUpd&8FS*k1NJ6Xk)SU?`1H+G1ac(* zvq(;RS$}|=JIzJErSn3J$6N$H-F&0RfFtfrX%-oo^v-&Mtc7arr1lXNg3_A2=6#=h ztfBt8)cit5=2WPm>$!5`Tg-TZh~2_)K<5*<WuRwc`xJXy{oJ5uJZ%mqVgfYo7f{ND z)P<ZI@;5BY$}byDtLhyi?UjkYW^GiSG<u(nngLm(AH~~Fj=Fg_Jaxy<wscMB1U-S| z?{zfEqvv7i9ByoV<$Kq<*it9?pejPj;~q1=NLK~iRjXz4t#dk?b062)Gcu+6|3;}3 zEbLdl*}v!;l`(L?9kkc+Z6E#JjF(V#m_>5NzfqkcS1L+bX<>36@*cu&&0Nw(PnMk9 z`$WIvikab^6I!}LIYx~X&TpH?eN`J&`MgHU3Kf3()$*1Yd+bx0g7Q<R1wwTPre|d% z#Pi?L&m4H@tT0t6Ea>Zvs9Z%{p|7c{;|UtZS&v<7OFhJEKN4rEc+}_I=i+PQ#%q;U zt`{vE5~N;8D^^|WPfeJ0qqm)}YcV??nHSY{XC!(kI{ju_x7N~#Y~20hc-wkkzUr_0 z>uOHaVO)oTyDJi=p?EeUG|cqO`74^5=qqap3oK)!(FdMq4crl59qN<N_JmCG9dJH% z0hV2k=lw!wYI|7yfU|qPP#xc=e2rcxi99`M`iFMJjN7*IJv{!?)4T0yb~YN$>3p3= zRd#b?Uv!%cP1}whB35V@*;c3L@}r}NREop`Te_O(+wDpw@?Nbbg`Zn8&h6zq^~lKY z(8tEm7?-e}OO>f-)VQi7i9Yfo<2TK*^2*|3v6B<;6K1QvtK(8ao82Q;^P>xG0=p_D zkm8p_^k*Y&Y@JK{dwsN3pY)$Yg)X4qBOJ|QQ@{|GL(|<7^bM1?tVjhr<e0AO__!wa zep;>*hsfl_ZO<`A5An`?xO_}<4lV#zJjMG(@Q}VIpJ<r8v6Oo3<m~HDXTpdV5A34K z6PTUscZ|@QTqmJAQWom-vJ(eI1(zH9rXxi$W)<eCM5H8Ywfmvlg@)kHs$kbs{Q7<a zpVO_L#2mwV5bjp+GkTZ{b}*PobF8`OjyfWF#bpiWMRsLcM|JY@<5!m7zjd|`V_8NK z5i-RdaSE$`Tz0Bsgx%xOm1o=J?-pdN%KpedoYB%bYX~OpbeoXs(79IMnbpg2rIjVE z^sdqc;>$U5jtJ|i@N{~fia7Ib!m^oW7+3b^F%?^e2Y9I%90B0xfUa0-ggPsN`Yaap zl%;llNk@H>I^ShJ_80H*et!?e=Pi=NLqH4PvNimt5j(PYhH%~ZjqXk_a}9o2QZ(Yb zakGn3$f0V3)g+~^=4yqHrmXoXpGDj7K@F^uAu_3O-8Go?xIqlMym82zU|oJkJEaJ3 zWf>e4+J))H>$PPXB!rr<mWmV0`vPxrWxAG2jNDwb(x#c!=7yGeVN3oUUW_t71hsKp zVgOn0P3wyyWMDUS4&omC3!^XaZ;sL9)CZ^JbM_wYdnmuUWPg99Cn_6<JH$au>olR4 z?0jbN;M8i{;(&wUWQ+uVWwZoL>Xh;)fia8Z8lL<s0meL+gwKVxXHVJr7QjXt6`@aE ztNWhFsrqO$K`&tY`*GO;>I?AeRz<y>A73S0i(3sZfv?tEIl)p_-mhzn7CYqGvX=zs zG40Qez7r?I2<CG;<feZXkDm%wq{GRsop;+)@jbKJ+wx_XGOAZnEy>F2!0_7jrFy%X znvnK4tZDkQ<w-*<eM)Wbegs5MPA9B1{2<^wQnc6kYMMHVSmq3tVWOzc;<JgdLayy) znHoLZXFb$Ut{?0v>XjFB_6qv;Wtvc$i=BGMpV-%LErgKp2tBF)&>@Nbsf2n<HM|r% zR3MZeyB8`UZr_=KcY1wz{msUZT;<FOGQPAmq3!2yl~|Ir6+U50YmV~!!YQuRV3d3Q z^<u=7c-_BIaW0SZ<ew<V?hmRuU9BzooTrHQqu+pDr$%!MOS5kCu@D^YL;4eg_BVZl z+JY8hjV_}W7Trf&J@+6N*m#R_!w#(@h0Lo=gU4ZdA30xF7+nmhKx%o6eT)@tPuhWj zaTT0SI(cdSY7^GnJ@jfhR+i;fXBPfsbQ42hE@hUBog-fCx7H;?DcH5U{$>DzHkMA# z6_q&lfD4Y4UsKC#iyDealGdOP*lB-x>P!uPlR@*^ssXc_KzXt?XZv6Em(K-pNjLk% z{>L@50^fNkTdOgnxxj9Zx1<&ij!xh3y)i%Wh-TAt>f*}eY*2uSeS1m!OyMXFq0=LR zV$OKCzq(uQ;pKXK+6Q`i4h7%P$o6q)P0y%GorKLwV9=C=G3Rn+u8pn5SkPr1&7`!O z(N~+a#l}rj8nD<m*pEGHg~DU6IHZam;f+ccf|8n`w^AsR$=jS>sf;#g_k48RoVEmO zr*>{CaY8r1CMnKCTUGU3kQ3|7-qV6;^Kt2Xq;!4&5pppY)uqX+3T-V=UO{ycVs<a* zwL5&Q>T+D(d-VkzGZX$`+3sOS!`S32tSBo4jVYc&w177Sb<OFyl30})4e;t)J1vS! zKXbxlK6u+KXSm1W&BR2I^1d`&H|uf-&UUo$Bs{y6_ZIQ7sD7H7kU`(Kt4$tb!>GBO z*fOu?YZ)>Nt^DZ&#z*d4L=$j^O)K7C7{N#ym{(yGS)7_tEB_fNo6k)C0eMq=ZT|Qk zU1)+IG~E39{86FnR`FIGWxbJcUN$CRfSB27P;EQ7Nm<3t4s*jguy`(*N5;2MFRpYh zCr|YGKC>JhlgbYJJ4%L*h)~z<z$WFP9N-uVXW-O{y!WT8X9Pf>=K#K`<;dSWS2m^G z(iLM~?+53$8kM;aSDpyyZ;jx)6PDmKR(}bc6U{Lhe=x599tu)%*ko*{XvCR-gI}d( z(Y05uLzZuQj{L~{$7KBb^VNXmUDb+^Wt#h8*A-&d!=$RYzJ6!=dU<eNcWpglVBebW z;IeXp(y{Npg4u4v3gD<S{4GlMH(9{!QaHqLsdjhaEbb3|4EG=pfL|3*f<aUO0;$tf zDFpD>Stp;V(5<P0;-+8Ef+?#oj^NazzxSjO0EmS~BJWrH0pn9(24Gp*>(tC`-cDX$ z=@<i3ZO};9!`a`j`G<koo0ZIh;{w0$kf{#Lz8)?AlJ$q(|9^Y`x8C-`@xO7-AByJ8 VFgaSo&sS-{kA^A?ywzrT<G<XCRz?5- literal 54827 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 MN-9Z|i5Ug{KLk%^x&QzG From 9910b5517059edf856ff5ba97aabdfdd70530db8 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Wed, 10 May 2017 15:32:36 +0800 Subject: [PATCH 29/52] modify by comments --- doc/design/file_mananger/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index 16074f8a01..27af3c51e6 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -40,9 +40,9 @@ ### FileServer FileServer是一个用GoRPC写的HTTPServer,提供[RESTful API](./RESTAPI.md)接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。 -## 大文件传输优化 +## 文件传输优化 -### 分块文件上传 +### 分块文件传输 用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient在传输完毕最后一个Chunk的时候检查desttination文件的MD5值是否和source文件一致。 一个典型的Chunk如下所示: @@ -62,7 +62,6 @@ type Chunk struct { ### 覆盖不一致的部分 文件传输的的关键在于需要PFSClient端对比source和destination的文件Chunks的checksum是否保持一致,不一致的由PFSClient下载或者传输Chunk完成。这样已经传输成功的部分就不用重新传输了。 - ## 框架生成 用[swagger-api](https://github.com/swagger-api/swagger-codegen)生成Client和FileServer的框架部分,以便我们可以把更多的精力放到逻辑本身上。 From ffd45b79672a2168925f06a13f03fc4cf9e30123 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Thu, 11 May 2017 11:52:28 +0800 Subject: [PATCH 30/52] modify by comments --- doc/design/file_mananger/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_mananger/README.md index 27af3c51e6..9d75089257 100644 --- a/doc/design/file_mananger/README.md +++ b/doc/design/file_mananger/README.md @@ -4,7 +4,7 @@ 主要功能包括: - 提供常用的命令行文件管理命令管理文件 - - 支持的命令在[Here] (./pfs/pfs.md) + - 支持的命令在[Here](./pfs/pfs.md) - 支持大文件的断点上传、下载 ## 名词解释 From 327727d462ed087f74ffa6cff25c9f7d00074b2a Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 12 May 2017 15:13:27 +0800 Subject: [PATCH 31/52] fix name bugs --- .../{file_mananger => file_manager}/README.md | 0 .../{file_mananger => file_manager}/RESTAPI.md | 0 .../{file_mananger => file_manager}/pfs/cp.md | 0 .../{file_mananger => file_manager}/pfs/ls.md | 0 .../{file_mananger => file_manager}/pfs/mkdir.md | 0 .../{file_mananger => file_manager}/pfs/mv.md | 0 .../{file_mananger => file_manager}/pfs/pfs.md | 0 .../{file_mananger => file_manager}/pfs/rm.md | 0 .../{file_mananger => file_manager}/pfs/sync.md | 0 .../src/filemanager.graffle | Bin .../src/filemanager.png | Bin 11 files changed, 0 insertions(+), 0 deletions(-) rename doc/design/{file_mananger => file_manager}/README.md (100%) rename doc/design/{file_mananger => file_manager}/RESTAPI.md (100%) rename doc/design/{file_mananger => file_manager}/pfs/cp.md (100%) rename doc/design/{file_mananger => file_manager}/pfs/ls.md (100%) rename doc/design/{file_mananger => file_manager}/pfs/mkdir.md (100%) rename doc/design/{file_mananger => file_manager}/pfs/mv.md (100%) rename doc/design/{file_mananger => file_manager}/pfs/pfs.md (100%) rename doc/design/{file_mananger => file_manager}/pfs/rm.md (100%) rename doc/design/{file_mananger => file_manager}/pfs/sync.md (100%) rename doc/design/{file_mananger => file_manager}/src/filemanager.graffle (100%) rename doc/design/{file_mananger => file_manager}/src/filemanager.png (100%) diff --git a/doc/design/file_mananger/README.md b/doc/design/file_manager/README.md similarity index 100% rename from doc/design/file_mananger/README.md rename to doc/design/file_manager/README.md diff --git a/doc/design/file_mananger/RESTAPI.md b/doc/design/file_manager/RESTAPI.md similarity index 100% rename from doc/design/file_mananger/RESTAPI.md rename to doc/design/file_manager/RESTAPI.md diff --git a/doc/design/file_mananger/pfs/cp.md b/doc/design/file_manager/pfs/cp.md similarity index 100% rename from doc/design/file_mananger/pfs/cp.md rename to doc/design/file_manager/pfs/cp.md diff --git a/doc/design/file_mananger/pfs/ls.md b/doc/design/file_manager/pfs/ls.md similarity index 100% rename from doc/design/file_mananger/pfs/ls.md rename to doc/design/file_manager/pfs/ls.md diff --git a/doc/design/file_mananger/pfs/mkdir.md b/doc/design/file_manager/pfs/mkdir.md similarity index 100% rename from doc/design/file_mananger/pfs/mkdir.md rename to doc/design/file_manager/pfs/mkdir.md diff --git a/doc/design/file_mananger/pfs/mv.md b/doc/design/file_manager/pfs/mv.md similarity index 100% rename from doc/design/file_mananger/pfs/mv.md rename to doc/design/file_manager/pfs/mv.md diff --git a/doc/design/file_mananger/pfs/pfs.md b/doc/design/file_manager/pfs/pfs.md similarity index 100% rename from doc/design/file_mananger/pfs/pfs.md rename to doc/design/file_manager/pfs/pfs.md diff --git a/doc/design/file_mananger/pfs/rm.md b/doc/design/file_manager/pfs/rm.md similarity index 100% rename from doc/design/file_mananger/pfs/rm.md rename to doc/design/file_manager/pfs/rm.md diff --git a/doc/design/file_mananger/pfs/sync.md b/doc/design/file_manager/pfs/sync.md similarity index 100% rename from doc/design/file_mananger/pfs/sync.md rename to doc/design/file_manager/pfs/sync.md diff --git a/doc/design/file_mananger/src/filemanager.graffle b/doc/design/file_manager/src/filemanager.graffle similarity index 100% rename from doc/design/file_mananger/src/filemanager.graffle rename to doc/design/file_manager/src/filemanager.graffle diff --git a/doc/design/file_mananger/src/filemanager.png b/doc/design/file_manager/src/filemanager.png similarity index 100% rename from doc/design/file_mananger/src/filemanager.png rename to doc/design/file_manager/src/filemanager.png From 60f69c2b0e960d9f60649e1e83342933273768e1 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 12 May 2017 17:53:31 +0800 Subject: [PATCH 32/52] fix by comments --- doc/design/file_manager/README.md | 6 ++-- doc/design/file_manager/pfs/cp.md | 46 +++++++++++++++------------- doc/design/file_manager/pfs/ls.md | 33 ++++++-------------- doc/design/file_manager/pfs/mkdir.md | 12 ++------ doc/design/file_manager/pfs/mv.md | 30 ++++++++++-------- doc/design/file_manager/pfs/pfs.md | 6 ++-- doc/design/file_manager/pfs/rm.md | 35 +++++++-------------- doc/design/file_manager/pfs/sync.md | 40 ++++++++++-------------- 8 files changed, 88 insertions(+), 120 deletions(-) diff --git a/doc/design/file_manager/README.md b/doc/design/file_manager/README.md index 9d75089257..2fe874581e 100644 --- a/doc/design/file_manager/README.md +++ b/doc/design/file_manager/README.md @@ -3,7 +3,7 @@ 在本文档中,我们设计说明了名为FileManager系统,方便用户管理存放到PaddlePaddle Cloud上的文件。 主要功能包括: -- 提供常用的命令行文件管理命令管理文件 +- 提供常用的命令行管理命令管理文件和目录 - 支持的命令在[Here](./pfs/pfs.md) - 支持大文件的断点上传、下载 @@ -27,7 +27,7 @@ - 用Golang写,可以跨平台执行 - 双向验证 - PFSClient需要和Ingress之间做双向验证<sup>[tls](#tls)</sup>,所有用户需要首先在`cloud.paddlepaddle.org`上注册一下,申请用户空间,并且把系统生成的Key、CRT、CA下载到本地,然后才能使用PFSClient。 + PFSClient需要和Ingress之间做双向验证<sup>[tls](#tls)</sup>,所以用户需要首先在`cloud.paddlepaddle.org`上注册一下,申请用户空间,并且把系统生成的Key、CRT、CA下载到本地,然后才能使用PFSClient。 ### Ingress - 功能: @@ -43,7 +43,7 @@ FileServer是一个用GoRPC写的HTTPServer,提供[RESTful API](./RESTAPI.md) ## 文件传输优化 ### 分块文件传输 -用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient在传输完毕最后一个Chunk的时候检查desttination文件的MD5值是否和source文件一致。 +用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient在传输完毕最后一个Chunk的时候检查destination文件的MD5值是否和source文件一致。 一个典型的Chunk如下所示: diff --git a/doc/design/file_manager/pfs/cp.md b/doc/design/file_manager/pfs/cp.md index 605c0b7c8b..1f1670e882 100644 --- a/doc/design/file_manager/pfs/cp.md +++ b/doc/design/file_manager/pfs/cp.md @@ -1,41 +1,45 @@ # Name -cp - copy files and directories +cp - copy files # Synopsis -` cp [OPTION]... -<LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath>` +``` +cp [-r] [-f | -n] [-v] [--preserve--links] <LocalPath> <PFSPath> +cp [-r] [-f | -n] [-v] [--preserve--links] <LocalPath> ... <PFSPath> +cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> <LocalPath> +cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> ... <LocalPath> +cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> <PFSPath> +cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> ... <PFSPath> +``` # Description +``` +The following options are available: + +-r + Copy directories recursively + +-f + Do not prompt for confirmation before overwriting the destination path. (The -f option overrides previous -n options.) + +-n + Do not overwrite an existing file. (The -n option overrides previous -f options.) + +-v + Cause cp to be verbose, showing files after they are copied. -``` --preserve--links Reserve links when copy links - --R, -r, --recursive - Copy directories recursively ``` # Examples - The following command copies a single file to pfs ``` -paddle pfs cp ./text1.txt /pfs/mydir/text1.txt -``` - -Output - -``` -upload ./text1.txt to /pfs/mydir/text1.txt +paddle pfs cp ./text1.txt /pfs/$DATACENTER/home/$USER/text1.txt ``` - The following command copies pfs file to a local file ``` -paddle pfs cp /pfs/mydir/text1.txt ./text1.txt -``` - -Output - -``` -download /pfs/mydir/text1.txt to ./text1.txt +paddle pfs cp /pfs/$DATACENTER/home/$USER/text1.txt ./text1.txt ``` diff --git a/doc/design/file_manager/pfs/ls.md b/doc/design/file_manager/pfs/ls.md index ab254cfc5d..0db163e08b 100644 --- a/doc/design/file_manager/pfs/ls.md +++ b/doc/design/file_manager/pfs/ls.md @@ -1,42 +1,27 @@ # Name -ls - list directory contents or a file attributes +ls - list directory(ies)'s contents or file(s)'s attributes # Synopsis -` ls [OPTION]... <PFSPath>` +`ls [-r] <PFSPath> ...` # Description -``` --R, -r, --recursive - Copy directories recursively - ---page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if operation time out. +``` +The following options are available: + +-r + List directory(ies) recursively ``` # Examples - The following command lists a single file ``` -paddle pfs ls /pfs/mydir/text1.txt -``` - -Output - -``` -2017-05-5 17:04:30 text1.txt +paddle pfs ls /pfs/$DATACENTER/home/$USER/text1.txt ``` - The following command lists directory contents ``` -paddle pfs ls /pfs/mydir -``` - -Output - -``` -2017-05-5 17:04:30 text1.txt -2017-05-5 17:04:30 text2.txt -... +paddle pfs ls / /pfs/$DATACENTER/home/$USER/folder ``` diff --git a/doc/design/file_manager/pfs/mkdir.md b/doc/design/file_manager/pfs/mkdir.md index c11dadd61f..3ca5170402 100644 --- a/doc/design/file_manager/pfs/mkdir.md +++ b/doc/design/file_manager/pfs/mkdir.md @@ -2,18 +2,12 @@ mkdir - mkdir directory(ies) # Synopsis -`mkdir [OPTION]... <PFSPath> ...` +`mkdir <PFSPath> ...` # Description -Create the pfs directory(ies), if they do not already exist. And create intermediate directories as required +Create the pfs directory(ies), if it(they) does(do) not already exist. And create intermediate directories as required. # Examples ``` -paddle pfs mkdir /pfs/mydir1 -``` - -Output - -``` -make directory /pfs/mydir1 +paddle pfs mkdir /pfs/$DATACENTER/home/$USER/folder ``` diff --git a/doc/design/file_manager/pfs/mv.md b/doc/design/file_manager/pfs/mv.md index 3929d43394..01b795be02 100644 --- a/doc/design/file_manager/pfs/mv.md +++ b/doc/design/file_manager/pfs/mv.md @@ -1,28 +1,34 @@ # Name -mv - move (rename) files or directories +mv - move (rename) files # Synopsis -If destination already exist, please [rm](rm.md) it first. - ``` -mv [OPTION]... -<LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath> +mv [-f | -n] [-v] <LocalPath> <PFSPath> +mv [-f | -n] [-v] <LocalPath> ... <PFSPath> +mv [-f | -n] [-v] <PFSPath> <LocalPath> +mv [-f | -n] [-v] <PFSPath> ... <LocalPath> +mv [-f | -n] [-v] <PFSPath> <PFSPath> +mv [-f | -n] [-v] <PFSPath> ... <PFSPath> ``` # Description -``` ``` +The following options are available: -# Examples -- The following command move a single file to pfs +-f + Do not prompt for confirmation before overwriting the destination path. (The -f option overrides previous -n options.) -``` -paddle pfs mv ./text1.txt /pfs/mydirectory/test1.txt +-n + Do not overwrite an existing file. (The -n option overrides previous -f options.) + +-v + Cause mv to be verbose, showing files after they are moved. ``` -Output +# Examples +- The following command moves a single file to pfs ``` -move ./text1.txt /pfs/mydirectory/test1.txt +paddle pfs mv ./text1.txt /pfs/$DATACENTER/home/$USER/text1.txt ``` diff --git a/doc/design/file_manager/pfs/pfs.md b/doc/design/file_manager/pfs/pfs.md index c23ffc7479..e26fc1095d 100644 --- a/doc/design/file_manager/pfs/pfs.md +++ b/doc/design/file_manager/pfs/pfs.md @@ -1,7 +1,7 @@ # PFS Client ## Description -The `pfs` command is a Command Line Interface to manage your files on Paddle Cloud +The `pfs` command is a Command Line Interface to manage your files on PaddlePaddle Cloud ## Synopsis ``` @@ -28,10 +28,10 @@ paddle [options] pfs <subcommand> [parameters] ## Path Arguments When using a command, we need to specify path arguments. There are two path argument type: `localpath` and `pfspath`. -A `pfspath` begin with `/pfs`, eg: `/pfs/mydir/text1.txt`. +A `pfspath` begin with `/pfs`, eg: `/pfs/$DATACENTER/home/$USER/folder`. ## order of Path Arguments -Commonly, if there are two path arguments. The first is the source, and the second is the destination. +Commonly, if there are two path arguments, the first is the source, and the second is the destination. ## Subcommonds - [rm](rm.md) diff --git a/doc/design/file_manager/pfs/rm.md b/doc/design/file_manager/pfs/rm.md index 64774c7ad9..8bcbabdfb1 100644 --- a/doc/design/file_manager/pfs/rm.md +++ b/doc/design/file_manager/pfs/rm.md @@ -3,43 +3,30 @@ rm - remove files or directories # Synopsis ``` -rm [OPTION]... <PFSPath>... +rm [-r] [-v] <PFSPath> ... ``` # Description ``` --r, -R, --recursive - remove directories and their contents recursively +The following options are available: ---page-size (integer) - The number of results to return in each response to a list operation. The default value is 1000 (the maximum allowed). Using a lower value may help if an operation times out +-r + remove directories and their contents recursively + +-v + Cause rm to be verbose, showing files after they are removed. ``` # Examples -- The following command deletes a single files - -``` -paddle pfs rm /pfs/mydirectory/test1.txt -``` - -Output - -``` -delete /pfs/mydirectory/test1.txt -``` - - -- The following command deletes a directory recursively. +- The following command deletes a single file: ``` -paddle pfs rm -r /pfs/mydirectory +paddle pfs rm /pfs/$DATACENTER/home/$USER/test1.txt ``` -Output +- The following command deletes a directory recursively: ``` -delete /pfs/mydirectory/1.txt -delete /pfs/mydirectory/2.txt -... +paddle pfs rm -r /pfs/$DATACENTER/home/$USER/folder ``` diff --git a/doc/design/file_manager/pfs/sync.md b/doc/design/file_manager/pfs/sync.md index c921e8ac81..4801ceedf9 100644 --- a/doc/design/file_manager/pfs/sync.md +++ b/doc/design/file_manager/pfs/sync.md @@ -1,42 +1,34 @@ # Name -sync - sync directories. Recursively copies new and updated files from the source directory to the destination +sync - sync directories. Recursively copies new and updated files from the source directory to the destination. # Synopsis -` sync [OPTIONS]... -<LocalPath> <PFSPath> or <PFSPath> <LocalPath> or <PFSPath> <PFSPath>` +``` +sync [--preserve--links] [-v] <LocalPath> <PFSPath> +sync [--preserve--links] [-v] <PFSPath> <LocalPath> +sync [--preserve--links] [-v] <PFSPath> <PFSPath>` +``` # Description ``` +The following options are available: + --preserve--links - Reserve links when copy links + Reserve links when copy links. + +-v + Cause sync to be verbose, showing files after their's synchronization is complete. ``` # Examples -- The following command sync locally directory to pfs - -``` -paddle pfs sync ./dir1 /pfs/mydir1 -``` - -Output - -``` -upload ./dir1/text1.txt to /pfs/mydir1/text2.txt -upload ./dir1/text2.txt to /pfs/mydir1/text2.txt -... -``` - -- The following command sync pfs directory to local +- The following command sync locally directory to pfs. ``` -paddle pfs sync /pfs/mydir1 . +paddle pfs sync ./dir1 /pfs/$DATACENTER/home/$USER/mydir1 ``` -Output +- The following command sync pfs directory to local. ``` -download /pfs/mydir1/text1.txt to ./text1.txt -download /pfs/mydir1/text2.txt to ./text2.txt -... +paddle pfs sync /pfs/$DATACENTER/home/$USER/mydir1 . ``` From bd69fa311ef70536c06b85416d3b8a6444eaa736 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Fri, 12 May 2017 18:02:01 +0800 Subject: [PATCH 33/52] fix by comments --- doc/design/file_manager/RESTAPI.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/design/file_manager/RESTAPI.md b/doc/design/file_manager/RESTAPI.md index 8d0f37be99..9c94804d6b 100644 --- a/doc/design/file_manager/RESTAPI.md +++ b/doc/design/file_manager/RESTAPI.md @@ -3,7 +3,7 @@ ``` GET /file: Get attribue of files -POST /file: Touch a file +POST /file: Create a file DELETE /file: Delete a File ``` @@ -18,6 +18,6 @@ POST /file/chunk: Update a chunk ``` GET /dir: List all files in a directory -POST /dir: Touch a directory +POST /dir: Create a directory DELETE /dir: Delete a directory ``` From 373cdb543c886bd4f9001ec43a6828ecc72d9b7f Mon Sep 17 00:00:00 2001 From: liaogang <liaogang@baidu.com> Date: Fri, 12 May 2017 20:45:41 +0800 Subject: [PATCH 34/52] Fix locales to en_US.UTF-8 --- paddle/scripts/docker/build.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/paddle/scripts/docker/build.sh b/paddle/scripts/docker/build.sh index 101b44e6c6..0387ab02d4 100644 --- a/paddle/scripts/docker/build.sh +++ b/paddle/scripts/docker/build.sh @@ -131,8 +131,6 @@ cat > /paddle/build/Dockerfile <<EOF FROM ${BASE_IMAGE} MAINTAINER PaddlePaddle Authors <paddle-dev@baidu.com> ENV HOME /root -ENV LANG en_US.UTF-8 -# Use Fix locales to en_US.UTF-8 EOF if [[ -n ${APT_MIRROR} ]]; then @@ -146,13 +144,18 @@ cat >> /paddle/build/Dockerfile <<EOF ADD *.deb / # run paddle version to install python packages first RUN apt-get update &&\ - apt-get install -y python-pip && pip install -U pip && \ + apt-get install -y python-pip locales && \ + pip install -U pip && \ dpkg -i /*.deb ; apt-get install -f -y && \ apt-get clean -y && \ - rm -f /*.deb && \ - paddle version + rm -f /*.deb + +# Fix locales to en_US.UTF-8 +RUN localedef -i en_US -f UTF-8 en_US.UTF-8 + ${DOCKERFILE_CUDNN_DSO} ${DOCKERFILE_GPU_ENV} + # default command shows the paddle version and exit CMD ["paddle", "version"] EOF From b2ccc4778837f788d4014156e5586e4c547d588e Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Sun, 14 May 2017 11:32:50 +0800 Subject: [PATCH 35/52] fix by comments --- doc/design/file_manager/README.md | 44 ++++++--- doc/design/file_manager/RESTAPI.md | 23 ----- doc/design/file_manager/pfs/pfs.md | 92 ++++++++++++++++-- .../file_manager/src/filemanager.graffle | Bin 3442 -> 3438 bytes doc/design/file_manager/src/filemanager.png | Bin 62630 -> 145125 bytes 5 files changed, 119 insertions(+), 40 deletions(-) delete mode 100644 doc/design/file_manager/RESTAPI.md diff --git a/doc/design/file_manager/README.md b/doc/design/file_manager/README.md index 2fe874581e..8d9c7487c5 100644 --- a/doc/design/file_manager/README.md +++ b/doc/design/file_manager/README.md @@ -8,13 +8,10 @@ - 支持大文件的断点上传、下载 ## 名词解释 -- PFS:是Paddlepaddle cloud File System的简称,是对用户文件存储空间的抽象,与之相对的是Local File System。目前我们用CephFS来搭建。 +- PFS:是Paddlepaddle cloud File System的简称,是对用户文件存储空间的抽象,与之相对的是local filesystem。目前我们用CephFS来搭建。 - [CephFS](http://docs.ceph.com/docs/master/cephfs/):一个POSIX兼容的文件系统。 - Chunk:逻辑划上文件分块的单位。 - [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/):提供七层协议的反向代理、基于粘性会话的负载均衡。 -- CA:certificate authority<sup>[tls](#tls)</sup> -- CRT:CA signed certificate<sup>[tls](#tls)</sup> -- Key:用户私钥<sup>[tls](#tls)</sup> ## 模块 @@ -22,24 +19,49 @@ <image src=./src/filemanager.png width=900> ### PFSClient -- 功能: 详细的内容看[Here](./pfs/pfs.md) +- 功能: 详细的内容看 - 提供用户管理文件的命令 - - 用Golang写,可以跨平台执行 + - 用Go写,可以跨平台执行 - 双向验证 - PFSClient需要和Ingress之间做双向验证<sup>[tls](#tls)</sup>,所以用户需要首先在`cloud.paddlepaddle.org`上注册一下,申请用户空间,并且把系统生成的Key、CRT、CA下载到本地,然后才能使用PFSClient。 + PFSClient需要和Ingress之间做双向验证<sup>[tls](#tls)</sup>,所以用户需要首先在`cloud.paddlepaddle.org`上注册一下,申请用户空间,并且把系统生成的CA(certificate authority)、Key、CRT(CA signed certificate)下载到本地,然后才能使用PFSClient。 + +- 命令格式 + +``` +paddle [options] pfs <subcommand> [parameters] + +options: + +``` ### Ingress - 功能: 提供七层协议的反向代理、基于粘性会话的负载均衡功能。 - 透传用户身份的办法 - Ingress需要把PFSClient的身份头传给FileServer,配置的方法参考[Here](http://www.integralist.co.uk/posts/clientcertauth.html#3) + Ingress需要把PFSClient的身份信息传给FileServer,配置的方法参考[Here](http://www.integralist.co.uk/posts/clientcertauth.html#3) -### FileServer -FileServer是一个用GoRPC写的HTTPServer,提供[RESTful API](./RESTAPI.md)接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。 +### PFSServer +PFSServer提供RESTful API接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。 +``` +RESTful API + +- /api/v1/files + - `GET /api/v1/files`: Get attributes of files or directories. + - `POST /api/v1/files`: Create files or directories. + - `DELETE /api/v1/files`: Delete files or directories. + +- /api/v1/storage/files + - `GET /api/v1/storage/files`: Download files or directories to local. + - `POST /api/v1/storage/files`: Upload files or directories to server. + +- /api/v1/storage/file/chunks + - `GET /api/v1/storage/file/chunks`: Get chunks's attributes in a file. + - `POST /api/v1/storage/file/chunks`: Upload chunks to a file. +``` ## 文件传输优化 ### 分块文件传输 @@ -57,7 +79,7 @@ type Chunk struct { ``` ### 生成sparse文件 -当destination文件不存在或者大小和source文件不一致时,可以用[Fallocate](https://golang.org/pkg/syscall/#Fallocate)生成sparse文件,然后就可以并发写入多个Chunk。 +当destination文件不存在或者大小和source文件不一致时,可以用[Fallocate](https://Go.org/pkg/syscall/#Fallocate)生成sparse文件,然后就可以并发写入多个Chunk。 ### 覆盖不一致的部分 文件传输的的关键在于需要PFSClient端对比source和destination的文件Chunks的checksum是否保持一致,不一致的由PFSClient下载或者传输Chunk完成。这样已经传输成功的部分就不用重新传输了。 diff --git a/doc/design/file_manager/RESTAPI.md b/doc/design/file_manager/RESTAPI.md deleted file mode 100644 index 9c94804d6b..0000000000 --- a/doc/design/file_manager/RESTAPI.md +++ /dev/null @@ -1,23 +0,0 @@ -# REST API Interface -- file - -``` -GET /file: Get attribue of files -POST /file: Create a file -DELETE /file: Delete a File -``` - -- chunk - -``` -GET /file/chunk: Get a chunk info -POST /file/chunk: Update a chunk -``` - -- dir - -``` -GET /dir: List all files in a directory -POST /dir: Create a directory -DELETE /dir: Delete a directory -``` diff --git a/doc/design/file_manager/pfs/pfs.md b/doc/design/file_manager/pfs/pfs.md index e26fc1095d..dd4578e369 100644 --- a/doc/design/file_manager/pfs/pfs.md +++ b/doc/design/file_manager/pfs/pfs.md @@ -34,9 +34,89 @@ A `pfspath` begin with `/pfs`, eg: `/pfs/$DATACENTER/home/$USER/folder`. Commonly, if there are two path arguments, the first is the source, and the second is the destination. ## Subcommonds -- [rm](rm.md) -- [mv](mv.md) -- [cp](cp.md) -- [ls](ls.md) -- [mkdir](mkdir.md) -- [sync](sync.md) +- rm - remove files or directories + +``` +Synopsis: + rm [-r] [-v] <PFSPath> ... + +Options: + -r + remove directories and their contents recursively + -v + Cause rm to be verbose, showing files after they are removed. + +Examples: + paddle pfs rm /pfs/$DATACENTER/home/$USER/file + paddle pfs rm -r /pfs/$DATACENTER/home/$USER/folder +``` +- mv - move (rename) files + +``` +Synopsis: + mv [-f | -n] [-v] <LocalPath> <PFSPath> + mv [-f | -n] [-v] <LocalPath> ... <PFSPath> + mv [-f | -n] [-v] <PFSPath> <LocalPath> + mv [-f | -n] [-v] <PFSPath> ... <LocalPath> + mv [-f | -n] [-v] <PFSPath> <PFSPath> + mv [-f | -n] [-v] <PFSPath> ... <PFSPath> + +Options: + -f + Do not prompt for confirmation before overwriting the destination path. (The -f option overrides previous -n options.) + -n + Do not overwrite an existing file. (The -n option overrides previous -f options.) + -v + Cause mv to be verbose, showing files after they are moved. + +Examples: + paddle pfs mv ./text1.txt /pfs/$DATACENTER/home/$USER/text1.txt +``` +- cp - copy files or directories + +``` +Synopsis: + cp [-r] [-f | -n] [-v] [--preserve--links] <LocalPath> <PFSPath> + cp [-r] [-f | -n] [-v] [--preserve--links] <LocalPath> ... <PFSPath> + cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> <LocalPath> + cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> ... <LocalPath> + cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> <PFSPath> + cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> ... <PFSPath> + +Options: + -r + Copy directories recursively + -f + Do not prompt for confirmation before overwriting the destination path. (The -f option overrides previous -n options.) + -n + Do not overwrite an existing file. (The -n option overrides previous -f options.) + -v + Cause cp to be verbose, showing files after they are copied. + --preserve--links + Reserve links when copy links +``` +- ls- list files + +``` +Synopsis: + ls [-r] <PFSPath> ... + +Options: + -r + List directory(ies) recursively + +Examples: + paddle pfs ls /pfs/$DATACENTER/home/$USER/file + paddle pfs ls /pfs/$DATACENTER/home/$USER/folder +``` + +- mkdir - mkdir directory(ies) +Create intermediate directory(ies) as required. + +``` +Synopsis: + mkdir <PFSPath> ... + +Examples: + paddle pfs mkdir /pfs/$DATACENTER/home/$USER/folder +``` diff --git a/doc/design/file_manager/src/filemanager.graffle b/doc/design/file_manager/src/filemanager.graffle index beb57cdd786e24a57e63c06ef4d6cfa0df3d8c5a..7861a33072bc1908f69d12b37c20491dd8663103 100644 GIT binary patch delta 3348 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 delta 3325 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 HePjRt&<DBg diff --git a/doc/design/file_manager/src/filemanager.png b/doc/design/file_manager/src/filemanager.png index d6b25b7bf2766e78fd638ab9103af7b68e44b90a..8139a19f5722f56d3c211f3ab0d3982f751134b9 100644 GIT binary patch literal 145125 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 E2a~%f00000 literal 62630 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�aY3b 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 VFgaSo&sS-{kA^A?ywzrT<G<XCRz?5- From 5e36f57a5e1be4295f453a0eaff73481b1cf0c2a Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Sun, 14 May 2017 11:33:40 +0800 Subject: [PATCH 36/52] rm not need files --- doc/design/file_manager/pfs/cp.md | 45 ---------------------------- doc/design/file_manager/pfs/ls.md | 27 ----------------- doc/design/file_manager/pfs/mkdir.md | 13 -------- doc/design/file_manager/pfs/mv.md | 34 --------------------- doc/design/file_manager/pfs/rm.md | 32 -------------------- doc/design/file_manager/pfs/sync.md | 34 --------------------- 6 files changed, 185 deletions(-) delete mode 100644 doc/design/file_manager/pfs/cp.md delete mode 100644 doc/design/file_manager/pfs/ls.md delete mode 100644 doc/design/file_manager/pfs/mkdir.md delete mode 100644 doc/design/file_manager/pfs/mv.md delete mode 100644 doc/design/file_manager/pfs/rm.md delete mode 100644 doc/design/file_manager/pfs/sync.md diff --git a/doc/design/file_manager/pfs/cp.md b/doc/design/file_manager/pfs/cp.md deleted file mode 100644 index 1f1670e882..0000000000 --- a/doc/design/file_manager/pfs/cp.md +++ /dev/null @@ -1,45 +0,0 @@ -# Name -cp - copy files - -# Synopsis -``` -cp [-r] [-f | -n] [-v] [--preserve--links] <LocalPath> <PFSPath> -cp [-r] [-f | -n] [-v] [--preserve--links] <LocalPath> ... <PFSPath> -cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> <LocalPath> -cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> ... <LocalPath> -cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> <PFSPath> -cp [-r] [-f | -n] [-v] [--preserve--links] <PFSPath> ... <PFSPath> -``` - -# Description -``` -The following options are available: - --r - Copy directories recursively - --f - Do not prompt for confirmation before overwriting the destination path. (The -f option overrides previous -n options.) - --n - Do not overwrite an existing file. (The -n option overrides previous -f options.) - --v - Cause cp to be verbose, showing files after they are copied. - ---preserve--links - Reserve links when copy links -``` - -# Examples -- The following command copies a single file to pfs - -``` -paddle pfs cp ./text1.txt /pfs/$DATACENTER/home/$USER/text1.txt -``` - -- The following command copies pfs file to a local file - -``` -paddle pfs cp /pfs/$DATACENTER/home/$USER/text1.txt ./text1.txt -``` diff --git a/doc/design/file_manager/pfs/ls.md b/doc/design/file_manager/pfs/ls.md deleted file mode 100644 index 0db163e08b..0000000000 --- a/doc/design/file_manager/pfs/ls.md +++ /dev/null @@ -1,27 +0,0 @@ -# Name -ls - list directory(ies)'s contents or file(s)'s attributes - -# Synopsis -`ls [-r] <PFSPath> ...` - -# Description - -``` -The following options are available: - --r - List directory(ies) recursively -``` - -# Examples -- The following command lists a single file - -``` -paddle pfs ls /pfs/$DATACENTER/home/$USER/text1.txt -``` - -- The following command lists directory contents - -``` -paddle pfs ls / /pfs/$DATACENTER/home/$USER/folder -``` diff --git a/doc/design/file_manager/pfs/mkdir.md b/doc/design/file_manager/pfs/mkdir.md deleted file mode 100644 index 3ca5170402..0000000000 --- a/doc/design/file_manager/pfs/mkdir.md +++ /dev/null @@ -1,13 +0,0 @@ -# Name -mkdir - mkdir directory(ies) - -# Synopsis -`mkdir <PFSPath> ...` - -# Description -Create the pfs directory(ies), if it(they) does(do) not already exist. And create intermediate directories as required. - -# Examples -``` -paddle pfs mkdir /pfs/$DATACENTER/home/$USER/folder -``` diff --git a/doc/design/file_manager/pfs/mv.md b/doc/design/file_manager/pfs/mv.md deleted file mode 100644 index 01b795be02..0000000000 --- a/doc/design/file_manager/pfs/mv.md +++ /dev/null @@ -1,34 +0,0 @@ -# Name -mv - move (rename) files - - -# Synopsis -``` -mv [-f | -n] [-v] <LocalPath> <PFSPath> -mv [-f | -n] [-v] <LocalPath> ... <PFSPath> -mv [-f | -n] [-v] <PFSPath> <LocalPath> -mv [-f | -n] [-v] <PFSPath> ... <LocalPath> -mv [-f | -n] [-v] <PFSPath> <PFSPath> -mv [-f | -n] [-v] <PFSPath> ... <PFSPath> -``` - -# Description -``` -The following options are available: - --f - Do not prompt for confirmation before overwriting the destination path. (The -f option overrides previous -n options.) - --n - Do not overwrite an existing file. (The -n option overrides previous -f options.) - --v - Cause mv to be verbose, showing files after they are moved. -``` - -# Examples -- The following command moves a single file to pfs - -``` -paddle pfs mv ./text1.txt /pfs/$DATACENTER/home/$USER/text1.txt -``` diff --git a/doc/design/file_manager/pfs/rm.md b/doc/design/file_manager/pfs/rm.md deleted file mode 100644 index 8bcbabdfb1..0000000000 --- a/doc/design/file_manager/pfs/rm.md +++ /dev/null @@ -1,32 +0,0 @@ -# Name -rm - remove files or directories - -# Synopsis -``` -rm [-r] [-v] <PFSPath> ... -``` - -# Description - -``` -The following options are available: - --r - remove directories and their contents recursively - --v - Cause rm to be verbose, showing files after they are removed. -``` - -# Examples -- The following command deletes a single file: - -``` -paddle pfs rm /pfs/$DATACENTER/home/$USER/test1.txt -``` - -- The following command deletes a directory recursively: - -``` -paddle pfs rm -r /pfs/$DATACENTER/home/$USER/folder -``` diff --git a/doc/design/file_manager/pfs/sync.md b/doc/design/file_manager/pfs/sync.md deleted file mode 100644 index 4801ceedf9..0000000000 --- a/doc/design/file_manager/pfs/sync.md +++ /dev/null @@ -1,34 +0,0 @@ -# Name -sync - sync directories. Recursively copies new and updated files from the source directory to the destination. - -# Synopsis -``` -sync [--preserve--links] [-v] <LocalPath> <PFSPath> -sync [--preserve--links] [-v] <PFSPath> <LocalPath> -sync [--preserve--links] [-v] <PFSPath> <PFSPath>` -``` - -# Description - -``` -The following options are available: - ---preserve--links - Reserve links when copy links. - --v - Cause sync to be verbose, showing files after their's synchronization is complete. -``` - -# Examples -- The following command sync locally directory to pfs. - -``` -paddle pfs sync ./dir1 /pfs/$DATACENTER/home/$USER/mydir1 -``` - -- The following command sync pfs directory to local. - -``` -paddle pfs sync /pfs/$DATACENTER/home/$USER/mydir1 . -``` From 9221f895a8e855cbb64d5aebcdf2f870057fc246 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Sun, 14 May 2017 11:34:06 +0800 Subject: [PATCH 37/52] rename pfsclient.md --- doc/design/file_manager/pfs/{pfs.md => pfsclient.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/design/file_manager/pfs/{pfs.md => pfsclient.md} (100%) diff --git a/doc/design/file_manager/pfs/pfs.md b/doc/design/file_manager/pfs/pfsclient.md similarity index 100% rename from doc/design/file_manager/pfs/pfs.md rename to doc/design/file_manager/pfs/pfsclient.md From 5f0ac852888c86ed5d1d3aed1b0001e8f6f065a1 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Sun, 14 May 2017 11:59:17 +0800 Subject: [PATCH 38/52] fix bugs --- doc/design/file_manager/README.md | 34 +++++++++--------------- doc/design/file_manager/pfs/pfsclient.md | 13 ++++++--- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/doc/design/file_manager/README.md b/doc/design/file_manager/README.md index 8d9c7487c5..2fe8fc2818 100644 --- a/doc/design/file_manager/README.md +++ b/doc/design/file_manager/README.md @@ -1,47 +1,34 @@ # FileManager设计文档 ## 目标 -在本文档中,我们设计说明了名为FileManager系统,方便用户管理存放到PaddlePaddle Cloud上的文件。 +在本文档中,我们设计说明了名为FileManager系统,方便让用户上传自己的训练数据以进行分布式训练 主要功能包括: - 提供常用的命令行管理命令管理文件和目录 - - 支持的命令在[Here](./pfs/pfs.md) - 支持大文件的断点上传、下载 ## 名词解释 -- PFS:是Paddlepaddle cloud File System的简称,是对用户文件存储空间的抽象,与之相对的是local filesystem。目前我们用CephFS来搭建。 +- PFS:是`Paddlepaddle cloud File System`的缩写,是对用户文件存储空间的抽象,与之相对的是local filesystem。目前我们用CephFS来搭建。 - [CephFS](http://docs.ceph.com/docs/master/cephfs/):一个POSIX兼容的文件系统。 - Chunk:逻辑划上文件分块的单位。 -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/):提供七层协议的反向代理、基于粘性会话的负载均衡。 ## 模块 - ### 架构图 <image src=./src/filemanager.png width=900> ### PFSClient -- 功能: 详细的内容看 +- 功能: 详细设计[link](./pfs/pfsclient.md) - 提供用户管理文件的命令 - - 用Go写,可以跨平台执行 + - 需要可以跨平台执行 - 双向验证 PFSClient需要和Ingress之间做双向验证<sup>[tls](#tls)</sup>,所以用户需要首先在`cloud.paddlepaddle.org`上注册一下,申请用户空间,并且把系统生成的CA(certificate authority)、Key、CRT(CA signed certificate)下载到本地,然后才能使用PFSClient。 - -- 命令格式 - -``` -paddle [options] pfs <subcommand> [parameters] - -options: - -``` - -### Ingress + +### [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) - 功能: 提供七层协议的反向代理、基于粘性会话的负载均衡功能。 - 透传用户身份的办法 - Ingress需要把PFSClient的身份信息传给FileServer,配置的方法参考[Here](http://www.integralist.co.uk/posts/clientcertauth.html#3) - + Ingress需要把PFSClient的身份信息传给PFSServer,配置的方法参考[link](http://www.integralist.co.uk/posts/clientcertauth.html#3) ### PFSServer PFSServer提供RESTful API接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。 @@ -65,7 +52,7 @@ RESTful API ## 文件传输优化 ### 分块文件传输 -用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient在传输完毕最后一个Chunk的时候检查destination文件的MD5值是否和source文件一致。 +用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient需要在传输完毕最后一个Chunk的时候检查destination文件的MD5值是否和source文件一致。 一个典型的Chunk如下所示: @@ -84,8 +71,11 @@ type Chunk struct { ### 覆盖不一致的部分 文件传输的的关键在于需要PFSClient端对比source和destination的文件Chunks的checksum是否保持一致,不一致的由PFSClient下载或者传输Chunk完成。这样已经传输成功的部分就不用重新传输了。 +## 用户使用流程 +参考[link](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/cluster_train/data_dispatch.md) + ## 框架生成 -用[swagger-api](https://github.com/swagger-api/swagger-codegen)生成Client和FileServer的框架部分,以便我们可以把更多的精力放到逻辑本身上。 +用[swagger](https://github.com/swagger-api/swagger-codegen)生成PFSClient和PFSServer的框架部分,以便我们可以把更多的精力放到逻辑本身上。 ## 参考文档 - <a name=tls></a>[TLS complete guide](https://github.com/k8sp/tls/blob/master/tls.md) diff --git a/doc/design/file_manager/pfs/pfsclient.md b/doc/design/file_manager/pfs/pfsclient.md index dd4578e369..307d6b448f 100644 --- a/doc/design/file_manager/pfs/pfsclient.md +++ b/doc/design/file_manager/pfs/pfsclient.md @@ -1,4 +1,4 @@ -# PFS Client +# PFSClient ## Description The `pfs` command is a Command Line Interface to manage your files on PaddlePaddle Cloud @@ -28,8 +28,11 @@ paddle [options] pfs <subcommand> [parameters] ## Path Arguments When using a command, we need to specify path arguments. There are two path argument type: `localpath` and `pfspath`. + A `pfspath` begin with `/pfs`, eg: `/pfs/$DATACENTER/home/$USER/folder`. +[Here](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/cluster_train/data_dispatch.md#上传训练文件) is how to config DataCenter + ## order of Path Arguments Commonly, if there are two path arguments, the first is the source, and the second is the destination. @@ -42,7 +45,7 @@ Synopsis: Options: -r - remove directories and their contents recursively + Remove directories and their contents recursively -v Cause rm to be verbose, showing files after they are removed. @@ -86,7 +89,7 @@ Synopsis: Options: -r Copy directories recursively - -f + -f Do not prompt for confirmation before overwriting the destination path. (The -f option overrides previous -n options.) -n Do not overwrite an existing file. (The -n option overrides previous -f options.) @@ -94,6 +97,10 @@ Options: Cause cp to be verbose, showing files after they are copied. --preserve--links Reserve links when copy links + +Examples: + paddle pfs cp ./file /pfs/$DATACENTER/home/$USER/file + paddle pfs cp /pfs/$DATACENTER/home/$USER/file ./file ``` - ls- list files From ebdd6bae1b44fd1277fb08394287d927d39d2e1b Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Sun, 14 May 2017 12:07:56 +0800 Subject: [PATCH 39/52] fix bugs --- doc/design/file_manager/README.md | 8 ++++++-- doc/design/file_manager/pfs/pfsclient.md | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/design/file_manager/README.md b/doc/design/file_manager/README.md index 2fe8fc2818..2bb0af98ae 100644 --- a/doc/design/file_manager/README.md +++ b/doc/design/file_manager/README.md @@ -1,6 +1,7 @@ # FileManager设计文档 ## 目标 在本文档中,我们设计说明了名为FileManager系统,方便让用户上传自己的训练数据以进行分布式训练 + 主要功能包括: - 提供常用的命令行管理命令管理文件和目录 @@ -41,13 +42,16 @@ RESTful API - `POST /api/v1/files`: Create files or directories. - `DELETE /api/v1/files`: Delete files or directories. +- /api/v1/file/chunks + - `GET /api/v1/storage/file/chunks`: Get chunks's attributes in a file. + - /api/v1/storage/files - `GET /api/v1/storage/files`: Download files or directories to local. - `POST /api/v1/storage/files`: Upload files or directories to server. - /api/v1/storage/file/chunks - - `GET /api/v1/storage/file/chunks`: Get chunks's attributes in a file. - - `POST /api/v1/storage/file/chunks`: Upload chunks to a file. + - `GET /api/v1/storage/file/chunks`: Upload chunks data. + - `POST /api/v1/storage/file/chunks`: Download chunks data. ``` ## 文件传输优化 diff --git a/doc/design/file_manager/pfs/pfsclient.md b/doc/design/file_manager/pfs/pfsclient.md index 307d6b448f..eb119689bf 100644 --- a/doc/design/file_manager/pfs/pfsclient.md +++ b/doc/design/file_manager/pfs/pfsclient.md @@ -31,7 +31,7 @@ When using a command, we need to specify path arguments. There are two path argu A `pfspath` begin with `/pfs`, eg: `/pfs/$DATACENTER/home/$USER/folder`. -[Here](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/cluster_train/data_dispatch.md#上传训练文件) is how to config DataCenter +[Here](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/cluster_train/data_dispatch.md#上传训练文件) is how to config datacenters. ## order of Path Arguments Commonly, if there are two path arguments, the first is the source, and the second is the destination. From d187cdfa8eb9d29a347892e066cbc6bb83bd55dc Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Sun, 14 May 2017 12:15:17 +0800 Subject: [PATCH 40/52] fix bugs --- doc/design/file_manager/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/design/file_manager/README.md b/doc/design/file_manager/README.md index 2bb0af98ae..f06dee1cf3 100644 --- a/doc/design/file_manager/README.md +++ b/doc/design/file_manager/README.md @@ -1,6 +1,6 @@ # FileManager设计文档 ## 目标 -在本文档中,我们设计说明了名为FileManager系统,方便让用户上传自己的训练数据以进行分布式训练 +在本文档中,我们设计说明了名为FileManager系统,方便用户上传自己的训练数据以进行分布式训练 主要功能包括: @@ -43,17 +43,17 @@ RESTful API - `DELETE /api/v1/files`: Delete files or directories. - /api/v1/file/chunks - - `GET /api/v1/storage/file/chunks`: Get chunks's attributes in a file. + - `GET /api/v1/storage/file/chunks`: Get chunks's attributes of a file. - /api/v1/storage/files - - `GET /api/v1/storage/files`: Download files or directories to local. - - `POST /api/v1/storage/files`: Upload files or directories to server. + - `GET /api/v1/storage/files`: Download files or directories. + - `POST /api/v1/storage/files`: Upload files or directories. - /api/v1/storage/file/chunks - - `GET /api/v1/storage/file/chunks`: Upload chunks data. - - `POST /api/v1/storage/file/chunks`: Download chunks data. + - `GET /api/v1/storage/file/chunks`: Download chunks's data. + - `POST /api/v1/storage/file/chunks`: Upload chunks's data. ``` -## 文件传输优化 +## 大文件传输优化 ### 分块文件传输 用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient需要在传输完毕最后一个Chunk的时候检查destination文件的MD5值是否和source文件一致。 From 3c702059650bcc83114e050013f56ed942c017ed Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Sun, 14 May 2017 12:23:39 +0800 Subject: [PATCH 41/52] fix bugs --- doc/design/file_manager/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/design/file_manager/README.md b/doc/design/file_manager/README.md index f06dee1cf3..2cfc459d2b 100644 --- a/doc/design/file_manager/README.md +++ b/doc/design/file_manager/README.md @@ -39,7 +39,7 @@ RESTful API - /api/v1/files - `GET /api/v1/files`: Get attributes of files or directories. - - `POST /api/v1/files`: Create files or directories. + - `POST /api/v1/files`: Update files or directories. - `DELETE /api/v1/files`: Delete files or directories. - /api/v1/file/chunks @@ -53,7 +53,7 @@ RESTful API - `GET /api/v1/storage/file/chunks`: Download chunks's data. - `POST /api/v1/storage/file/chunks`: Upload chunks's data. ``` -## 大文件传输优化 +## 文件传输优化 ### 分块文件传输 用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient需要在传输完毕最后一个Chunk的时候检查destination文件的MD5值是否和source文件一致。 From 1171014d3ffc31aae5c4572c495c110975220444 Mon Sep 17 00:00:00 2001 From: caoying03 <caoying03@baidu.com> Date: Mon, 15 May 2017 11:32:06 +0800 Subject: [PATCH 42/52] add param_attr to nce_layer and enable multiple inputs. --- python/paddle/trainer_config_helpers/layers.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index 31652613fb..52c7a57a1f 100755 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -4921,12 +4921,14 @@ def crf_decoding_layer(input, @wrap_act_default(act=SigmoidActivation()) @wrap_bias_attr_default(has_bias=True) +@wrap_param_attr_default() @wrap_name_default() @layer_support() def nce_layer(input, label, num_classes, act=None, + param_attr=None, weight=None, num_neg_samples=10, neg_distribution=None, @@ -4957,6 +4959,8 @@ def nce_layer(input, :type num_classes: int :param act: Activation, default is Sigmoid. :type act: BaseActivation + :param param_attr: The Parameter Attribute|list. + :type param_attr: ParameterAttribute :param num_neg_samples: number of negative samples. Default is 10. :type num_neg_samples: int :param neg_distribution: The distribution for generating the random negative labels. @@ -4972,7 +4976,16 @@ def nce_layer(input, """ if isinstance(input, LayerOutput): input = [input] + assert not isinstance(param_attr, collections.Sequence) + param_attr = [param_attr] + else: + if isinstance(param_attr, collections.Sequence): + assert len(input) == len(param_attr) + else: + param_attr = [copy.deepcopy(param_attr) for _ in range(len(input))] + assert isinstance(input, collections.Sequence) + assert isinstance(label, LayerOutput) assert label.layer_type == LayerType.DATA if neg_distribution is not None: @@ -4984,9 +4997,9 @@ def nce_layer(input, ipts_for_layer = [] parents = [] - for each_input in input: + for each_input, attr in zip(input, param_attr): assert isinstance(each_input, LayerOutput) - ipts_for_layer.append(each_input.name) + ipts_for_layer.append(Input(each_input.name, **attr.attr)) parents.append(each_input) ipts_for_layer.append(label.name) parents.append(label) From 3e36e564fba2d8e22754a9c2aea458450ba492ca Mon Sep 17 00:00:00 2001 From: Luo Tao <luotao02@baidu.com> Date: Mon, 15 May 2017 13:24:45 +0800 Subject: [PATCH 43/52] add multiple outputs in annotation of paddle.infer --- python/paddle/v2/inference.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/python/paddle/v2/inference.py b/python/paddle/v2/inference.py index b4bb384969..2c1ae08f46 100644 --- a/python/paddle/v2/inference.py +++ b/python/paddle/v2/inference.py @@ -97,8 +97,22 @@ def infer(output_layer, parameters, input, feeding=None, field='value'): input=SomeData) print result + If there are multiple outout_layers and fields, the examples usages: + + .. code-block:: python + + result = paddle.infer(output_layer=[prediction1, prediction2], + parameters=parameters, + input=SomeData, + field=[id, value]]) + print result + + The result order is prediction1.id, prediction2.id, prediction1.value, + prediction2.value. + :param output_layer: output of the neural network that would be inferred - :type output_layer: paddle.v2.config_base.Layer + :type output_layer: paddle.v2.config_base.Layer or a list of + paddle.v2.config_base.Layer :param parameters: parameters of the neural network. :type parameters: paddle.v2.parameters.Parameters :param input: input data batch. Should be a python iterable object, and each From 7556ceffa6d0174ce7d2135b62b5c4c888400dcb Mon Sep 17 00:00:00 2001 From: caoying03 <caoying03@baidu.com> Date: Mon, 15 May 2017 13:17:36 +0800 Subject: [PATCH 44/52] add unitest for nce layer. --- .../paddle/trainer_config_helpers/layers.py | 7 ++- .../protostr/test_cost_layers.protostr | 39 +++++++++++++++ .../test_cost_layers_with_weight.protostr | 49 +++++++++++++++++++ .../tests/configs/test_cost_layers.py | 4 +- .../configs/test_cost_layers_with_weight.py | 7 ++- 5 files changed, 102 insertions(+), 4 deletions(-) diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index 52c7a57a1f..2af7c9c9c4 100755 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -4926,7 +4926,7 @@ def crf_decoding_layer(input, @layer_support() def nce_layer(input, label, - num_classes, + num_classes=None, act=None, param_attr=None, weight=None, @@ -4944,7 +4944,8 @@ def nce_layer(input, .. code-block:: python - cost = nce_layer(input=layer1, label=layer2, weight=layer3, + cost = nce_layer(input=[layer1, layer2], label=layer2, + param_attr=[attr1, attr2], weight=layer3, num_classes=3, neg_distribution=[0.1,0.3,0.6]) :param name: layer name @@ -4988,6 +4989,8 @@ def nce_layer(input, assert isinstance(label, LayerOutput) assert label.layer_type == LayerType.DATA + if num_classes is None: + num_classes = label.size if neg_distribution is not None: assert isinstance(neg_distribution, collections.Sequence) assert len(neg_distribution) == num_classes diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers.protostr index 05fd1c99d2..05847344be 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers.protostr @@ -215,6 +215,22 @@ layers { } coeff: 1.0 } +layers { + name: "__nce_layer_0__" + type: "nce" + size: 1 + active_type: "sigmoid" + inputs { + input_layer_name: "__fc_layer_0__" + input_parameter_name: "___nce_layer_0__.w0" + } + inputs { + input_layer_name: "labels" + } + bias_parameter_name: "___nce_layer_0__.wbias" + num_classes: 5000 + num_neg_samples: 10 +} parameters { name: "___fc_layer_0__.w0" size: 800 @@ -245,6 +261,26 @@ parameters { initial_strategy: 0 initial_smart: true } +parameters { + name: "___nce_layer_0__.w0" + size: 20000 + initial_mean: 0.0 + initial_std: 0.0141421356237 + dims: 5000 + dims: 4 + initial_strategy: 0 + initial_smart: true +} +parameters { + name: "___nce_layer_0__.wbias" + size: 5000 + initial_mean: 0.0 + initial_std: 0.0 + dims: 1 + dims: 5000 + initial_strategy: 0 + initial_smart: false +} input_layer_names: "input" input_layer_names: "labels" input_layer_names: "crf_label" @@ -267,6 +303,7 @@ output_layer_names: "__cross_entropy_with_selfnorm_0__" output_layer_names: "__huber_cost_0__" output_layer_names: "__multi_binary_label_cross_entropy_0__" output_layer_names: "__sum_cost_0__" +output_layer_names: "__nce_layer_0__" sub_models { name: "root" layer_names: "input" @@ -292,6 +329,7 @@ sub_models { layer_names: "__huber_cost_0__" layer_names: "__multi_binary_label_cross_entropy_0__" layer_names: "__sum_cost_0__" + layer_names: "__nce_layer_0__" input_layer_names: "input" input_layer_names: "labels" input_layer_names: "crf_label" @@ -314,6 +352,7 @@ sub_models { output_layer_names: "__huber_cost_0__" output_layer_names: "__multi_binary_label_cross_entropy_0__" output_layer_names: "__sum_cost_0__" + output_layer_names: "__nce_layer_0__" is_recurrent_layer_group: false } diff --git a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers_with_weight.protostr b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers_with_weight.protostr index 3244181a63..b7d74f85ab 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers_with_weight.protostr +++ b/python/paddle/trainer_config_helpers/tests/configs/protostr/test_cost_layers_with_weight.protostr @@ -60,6 +60,31 @@ layers { } coeff: 1.0 } +layers { + name: "multi_class_label" + type: "data" + size: 500 + active_type: "" +} +layers { + name: "__nce_layer_0__" + type: "nce" + size: 1 + active_type: "sigmoid" + inputs { + input_layer_name: "__fc_layer_0__" + input_parameter_name: "___nce_layer_0__.w0" + } + inputs { + input_layer_name: "multi_class_label" + } + inputs { + input_layer_name: "weight" + } + bias_parameter_name: "___nce_layer_0__.wbias" + num_classes: 500 + num_neg_samples: 10 +} parameters { name: "___fc_layer_0__.w0" size: 3000 @@ -80,9 +105,30 @@ parameters { initial_strategy: 0 initial_smart: false } +parameters { + name: "___nce_layer_0__.w0" + size: 5000 + initial_mean: 0.0 + initial_std: 0.04472135955 + dims: 500 + dims: 10 + initial_strategy: 0 + initial_smart: true +} +parameters { + name: "___nce_layer_0__.wbias" + size: 500 + initial_mean: 0.0 + initial_std: 0.0 + dims: 1 + dims: 500 + initial_strategy: 0 + initial_smart: false +} input_layer_names: "input" input_layer_names: "label" input_layer_names: "weight" +input_layer_names: "multi_class_label" output_layer_names: "__cost_0__" output_layer_names: "__mse_cost_0__" evaluators { @@ -100,9 +146,12 @@ sub_models { layer_names: "__fc_layer_0__" layer_names: "__cost_0__" layer_names: "__mse_cost_0__" + layer_names: "multi_class_label" + layer_names: "__nce_layer_0__" input_layer_names: "input" input_layer_names: "label" input_layer_names: "weight" + input_layer_names: "multi_class_label" output_layer_names: "__cost_0__" output_layer_names: "__mse_cost_0__" evaluator_names: "classification_error_evaluator" diff --git a/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers.py b/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers.py index 18ff6b48c4..d2a3b702a1 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers.py +++ b/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers.py @@ -40,4 +40,6 @@ outputs( name='huber_label', size=1)), multi_binary_label_cross_entropy( input=probs, label=xe_label), - sum_cost(input=hidden)) + sum_cost(input=hidden), + nce_layer( + input=hidden, label=labels)) diff --git a/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers_with_weight.py b/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers_with_weight.py index 1c0aa7f9b9..c369062930 100644 --- a/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers_with_weight.py +++ b/python/paddle/trainer_config_helpers/tests/configs/test_cost_layers_with_weight.py @@ -11,4 +11,9 @@ outputs( classification_cost( input=fc, label=lbl, weight=wt), mse_cost( - input=fc, label=lbl, weight=wt)) + input=fc, label=lbl, weight=wt), + nce_layer( + input=fc, + label=data_layer( + name='multi_class_label', size=500), + weight=wt)) From bc02d1aa96acce39522dc45b25bab84d420ed27a Mon Sep 17 00:00:00 2001 From: Luo Tao <luotao02@baidu.com> Date: Mon, 15 May 2017 14:11:48 +0800 Subject: [PATCH 45/52] follow comments --- python/paddle/v2/inference.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/python/paddle/v2/inference.py b/python/paddle/v2/inference.py index 2c1ae08f46..139339902e 100644 --- a/python/paddle/v2/inference.py +++ b/python/paddle/v2/inference.py @@ -88,7 +88,7 @@ def infer(output_layer, parameters, input, feeding=None, field='value'): Infer a neural network by given neural network output and parameters. The user should pass either a batch of input data or reader method. - Example usages: + Example usage for sinlge output_layer: .. code-block:: python @@ -97,7 +97,7 @@ def infer(output_layer, parameters, input, feeding=None, field='value'): input=SomeData) print result - If there are multiple outout_layers and fields, the examples usages: + Example usage for multiple outout_layers and fields: .. code-block:: python @@ -107,9 +107,6 @@ def infer(output_layer, parameters, input, feeding=None, field='value'): field=[id, value]]) print result - The result order is prediction1.id, prediction2.id, prediction1.value, - prediction2.value. - :param output_layer: output of the neural network that would be inferred :type output_layer: paddle.v2.config_base.Layer or a list of paddle.v2.config_base.Layer @@ -126,7 +123,9 @@ def infer(output_layer, parameters, input, feeding=None, field='value'): Note that `prob` only used when output_layer is beam_search or max_id. :type field: str - :return: a numpy array + :return: The prediction result. If there are multiple outout_layers and fields, + the return order is outout_layer1.field1, outout_layer2.field1, ..., + outout_layer1.field2, outout_layer2.field2 ... :rtype: numpy.ndarray """ From 87cb840ce981145ad5fbdbb34569546bbbf725d9 Mon Sep 17 00:00:00 2001 From: Peng Li <lipeng17@baidu.com> Date: Mon, 15 May 2017 16:50:53 +0800 Subject: [PATCH 46/52] add coeff parameter to the helpers of mse_cost, crf_layer and smooth_l1_cost --- python/paddle/trainer_config_helpers/layers.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/python/paddle/trainer_config_helpers/layers.py b/python/paddle/trainer_config_helpers/layers.py index 2af7c9c9c4..3b6f0270de 100755 --- a/python/paddle/trainer_config_helpers/layers.py +++ b/python/paddle/trainer_config_helpers/layers.py @@ -3765,7 +3765,7 @@ def __cost_input__(input, label, weight=None): @wrap_name_default() @layer_support() -def mse_cost(input, label, weight=None, name=None, layer_attr=None): +def mse_cost(input, label, weight=None, name=None, coeff=1.0, layer_attr=None): """ mean squared error cost: @@ -3782,6 +3782,8 @@ def mse_cost(input, label, weight=None, name=None, layer_attr=None): :param weight: The weight affects the cost, namely the scale of cost. It is an optional argument. :type weight: LayerOutput + :param coeff: The coefficient affects the gradient in the backward. + :type coeff: float :param layer_attr: layer's extra attribute. :type layer_attr: ExtraLayerAttribute :return: LayerOutput object. @@ -3793,6 +3795,7 @@ def mse_cost(input, label, weight=None, name=None, layer_attr=None): inputs=ipts, type="square_error", name=name, + coeff=coeff, **ExtraLayerAttribute.to_kwargs(layer_attr)) return LayerOutput(name, LayerType.COST, parents=parents, size=1) @@ -4798,6 +4801,7 @@ def crf_layer(input, weight=None, param_attr=None, name=None, + coeff=1.0, layer_attr=None): """ A layer for calculating the cost of sequential conditional random @@ -4824,6 +4828,8 @@ def crf_layer(input, :type param_attr: ParameterAttribute :param name: The name of this layers. It is not necessary. :type name: None|basestring + :param coeff: The coefficient affects the gradient in the backward. + :type coeff: float :param layer_attr: Extra Layer config. :type layer_attr: ExtraLayerAttribute|None :return: LayerOutput object. @@ -4848,6 +4854,7 @@ def crf_layer(input, type=LayerType.CRF_LAYER, size=size, inputs=ipts, + coeff=coeff, **ExtraLayerAttribute.to_kwargs(layer_attr)) parents = [input, label] if weight is not None: @@ -5379,7 +5386,7 @@ def multi_binary_label_cross_entropy(input, @wrap_name_default() @layer_support() -def smooth_l1_cost(input, label, name=None, layer_attr=None): +def smooth_l1_cost(input, label, name=None, coeff=1.0, layer_attr=None): """ This is a L1 loss but more smooth. It requires that the size of input and label are equal. The formula is as follows, @@ -5408,6 +5415,8 @@ def smooth_l1_cost(input, label, name=None, layer_attr=None): :type input: LayerOutput :param name: The name of this layers. It is not necessary. :type name: None|basestring + :param coeff: The coefficient affects the gradient in the backward. + :type coeff: float :param layer_attr: Extra Layer Attribute. :type layer_attr: ExtraLayerAttribute :return: LayerOutput object. @@ -5421,6 +5430,7 @@ def smooth_l1_cost(input, label, name=None, layer_attr=None): name=name, type=LayerType.SMOOTH_L1, inputs=[input.name, label.name], + coeff=coeff, **ExtraLayerAttribute.to_kwargs(layer_attr)) return LayerOutput( name, LayerType.SMOOTH_L1, parents=[input, label], size=1) From bade3e976b5f60982fc3aa08ee7812a53000d857 Mon Sep 17 00:00:00 2001 From: Luo Tao <luotao02@baidu.com> Date: Mon, 15 May 2017 17:08:51 +0800 Subject: [PATCH 47/52] add appointments for contributing codes in document --- doc/howto/dev/contribute_to_paddle_cn.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/howto/dev/contribute_to_paddle_cn.md b/doc/howto/dev/contribute_to_paddle_cn.md index 775938612e..a48b143c76 100644 --- a/doc/howto/dev/contribute_to_paddle_cn.md +++ b/doc/howto/dev/contribute_to_paddle_cn.md @@ -7,6 +7,7 @@ - 确保编译器选项 `WITH_STYLE_CHECK` 已打开,并且编译能通过代码样式检查。 - 所有代码必须具有单元测试。 - 通过所有单元测试。 +- 请遵守[提交代码的一些约定](#提交代码的一些约定)。 以下教程将指导您提交代码。 ## [Fork](https://help.github.com/articles/fork-a-repo/) @@ -217,3 +218,22 @@ upstream ``` 至此,我们就完成了一次代码贡献的过程。 + +## 提交代码的一些约定 + +为了使评审人在评审代码时更好地专注于代码本身,请您每次提交代码时,遵守以下约定: +1. 请保证Travis-CI 中单元测试能顺利通过。如果没过,说明提交的代码存在问题,评审人一般不做评审。 +2. 提交PUll Request前: + - 请注意commit的数量: + - 原因:如果仅仅修改一个文件但提交了十几个commit,每个commit只做了少量的修改,这会给评审人带来很大困扰。评审人需要逐一查看每个commit才能知道做了哪些修改,且不排除commit之间的修改存在相互覆盖的情况。 + - 建议:每次提交时,保持尽量少的commit,可以通过`git commit --amend`补充上次的commit。对已经Push到远程仓库的多个commit,可以参考[squash commits after push](http://stackoverflow.com/questions/5667884/how-to-squash-commits-in-git-after-they-have-been-pushed)。 + - 请注意每个commit的名称:应能反映当前commit的内容,不能太随意。 +3. 如果解决了某个Issue的问题,请在该PUll Request的**第一个**评论框中加上:`fix #issue_number`,这样当该PUll Request被合并后,会自动关闭对应的Issue。关键词包括:close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved,请选择合适的词汇。详细可参考[Closing issues via commit messages](https://help.github.com/articles/closing-issues-via-commit-messages)。 + +此外,在回复评审人意见时,请您遵守以下约定: +1. 评审人的每个意见都必须回复(这是开源社区的基本礼貌,别人帮了忙,应该说谢谢): + - 对评审意见同意且按其修改完的,给个简单的`Done`即可; + - 对评审意见不同意的,请给出您自己的反驳理由。 +2. 如果评审意见比较多: + - 请给出总体的修改情况。 + - 请采用[start a review](https://help.github.com/articles/reviewing-proposed-changes-in-a-pull-request/)进行回复,而非直接回复的方式。原因是每个回复都会发送一封邮件,会造成邮件灾难。 From f5dd9950bb67d46c0fa368c01add64cd25da6be5 Mon Sep 17 00:00:00 2001 From: Yi Wang <yiwang01@baidu.com> Date: Mon, 15 May 2017 15:07:13 -0700 Subject: [PATCH 48/52] Have to capitalize Boost in find_package --- paddle/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paddle/CMakeLists.txt b/paddle/CMakeLists.txt index c6fd9cc54a..7699554909 100644 --- a/paddle/CMakeLists.txt +++ b/paddle/CMakeLists.txt @@ -9,7 +9,7 @@ add_subdirectory(pserver) add_subdirectory(trainer) add_subdirectory(scripts) -find_package(boost QUIET) +find_package(Boost QUIET) if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) From 0fb76c3fd68784088ac75cf5f9e9875396de15b3 Mon Sep 17 00:00:00 2001 From: gongweibao <weibao.gong@gmail.com> Date: Tue, 16 May 2017 08:24:12 +0800 Subject: [PATCH 49/52] fix by yancey --- doc/design/file_manager/README.md | 12 ++++++------ doc/design/file_manager/pfs/pfsclient.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/design/file_manager/README.md b/doc/design/file_manager/README.md index 2cfc459d2b..3df10d801e 100644 --- a/doc/design/file_manager/README.md +++ b/doc/design/file_manager/README.md @@ -34,16 +34,16 @@ ### PFSServer PFSServer提供RESTful API接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。 -``` RESTful API - /api/v1/files - - `GET /api/v1/files`: Get attributes of files or directories. - - `POST /api/v1/files`: Update files or directories. + - `GET /api/v1/files`: Get metadata of files or directories. + - `POST /api/v1/files`: Create files or directories. + - `PATCH /api/v1/files`: Update files or directories. - `DELETE /api/v1/files`: Delete files or directories. - /api/v1/file/chunks - - `GET /api/v1/storage/file/chunks`: Get chunks's attributes of a file. + - `GET /api/v1/storage/file/chunks`: Get chunks's metadata of a file. - /api/v1/storage/files - `GET /api/v1/storage/files`: Download files or directories. @@ -52,11 +52,11 @@ RESTful API - /api/v1/storage/file/chunks - `GET /api/v1/storage/file/chunks`: Download chunks's data. - `POST /api/v1/storage/file/chunks`: Upload chunks's data. -``` + ## 文件传输优化 ### 分块文件传输 -用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient需要在传输完毕最后一个Chunk的时候检查destination文件的MD5值是否和source文件一致。 +用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件的上传和下载都是通过对Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient需要在传输完毕最后一个Chunk的时候检查destination文件的MD5值是否和source文件一致。 一个典型的Chunk如下所示: diff --git a/doc/design/file_manager/pfs/pfsclient.md b/doc/design/file_manager/pfs/pfsclient.md index eb119689bf..56bc70c54b 100644 --- a/doc/design/file_manager/pfs/pfsclient.md +++ b/doc/design/file_manager/pfs/pfsclient.md @@ -109,7 +109,7 @@ Synopsis: ls [-r] <PFSPath> ... Options: - -r + -R List directory(ies) recursively Examples: From 8b6fad67aef34db7b798bff29efe3115444c356d Mon Sep 17 00:00:00 2001 From: liaogang <liaogang@baidu.com> Date: Tue, 16 May 2017 13:31:22 +0800 Subject: [PATCH 50/52] add WITH_TESTING --- paddle/majel/CMakeLists.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/paddle/majel/CMakeLists.txt b/paddle/majel/CMakeLists.txt index baa3bb9e91..34a4ad58f4 100644 --- a/paddle/majel/CMakeLists.txt +++ b/paddle/majel/CMakeLists.txt @@ -1,8 +1,6 @@ cmake_minimum_required(VERSION 3.0) -if(GTEST_INCLUDE_DIR AND GTEST_LIBRARIES) - message("-- Found gtest (include: ${GTEST_INCLUDE_DIR}, library: ${GTEST_LIBRARIES})") -else() +if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) # find #include <majel/xx.h> get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) include_directories(${PARENT_DIR}) @@ -18,6 +16,8 @@ else() set(THIRD_PARTY_PATH ${CMAKE_CURRENT_SOURCE_DIR}/third_party) set(WITH_TESTING ON) include(external/gtest) +else() + message("-- Found gtest (include: ${GTEST_INCLUDE_DIR}, library: ${GTEST_LIBRARIES})") endif() ########################### Build Majel ############################# @@ -29,6 +29,9 @@ if(CUDA_FOUND) else() add_library(majel ${MAJEL_CXX_FILES}) endif() +add_dependencies(majel ${external_project_dependencies}) ##################################################################### -add_subdirectory(test) +if(WITH_TESTING) + add_subdirectory(test) +endif() \ No newline at end of file From 0e7d42f1941c01fc0c220bab73874666dc757ee8 Mon Sep 17 00:00:00 2001 From: liaogang <liaogang@baidu.com> Date: Tue, 16 May 2017 13:31:57 +0800 Subject: [PATCH 51/52] add blank --- paddle/majel/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paddle/majel/CMakeLists.txt b/paddle/majel/CMakeLists.txt index 34a4ad58f4..4b1438d570 100644 --- a/paddle/majel/CMakeLists.txt +++ b/paddle/majel/CMakeLists.txt @@ -34,4 +34,4 @@ add_dependencies(majel ${external_project_dependencies}) if(WITH_TESTING) add_subdirectory(test) -endif() \ No newline at end of file +endif() From f5900d38e2a5925eb89573042fefecf1048d90fc Mon Sep 17 00:00:00 2001 From: liaogang <liaogang@baidu.com> Date: Tue, 16 May 2017 14:52:44 +0800 Subject: [PATCH 52/52] delete locale --- paddle/scripts/docker/build.sh | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/paddle/scripts/docker/build.sh b/paddle/scripts/docker/build.sh index 0387ab02d4..2dfa712427 100644 --- a/paddle/scripts/docker/build.sh +++ b/paddle/scripts/docker/build.sh @@ -144,15 +144,11 @@ cat >> /paddle/build/Dockerfile <<EOF ADD *.deb / # run paddle version to install python packages first RUN apt-get update &&\ - apt-get install -y python-pip locales && \ - pip install -U pip && \ + apt-get install -y python-pip && pip install -U pip && \ dpkg -i /*.deb ; apt-get install -f -y && \ apt-get clean -y && \ - rm -f /*.deb - -# Fix locales to en_US.UTF-8 -RUN localedef -i en_US -f UTF-8 en_US.UTF-8 - + rm -f /*.deb && \ + paddle version ${DOCKERFILE_CUDNN_DSO} ${DOCKERFILE_GPU_ENV}