| @@ -205,7 +205,9 @@ function(mindspore_add_pkg pkg_name) | |||||
| set(options) | set(options) | ||||
| set(oneValueArgs URL MD5 GIT_REPOSITORY GIT_TAG VER EXE DIR HEAD_ONLY CMAKE_PATH RELEASE LIB_PATH CUSTOM_CMAKE) | set(oneValueArgs URL MD5 GIT_REPOSITORY GIT_TAG VER EXE DIR HEAD_ONLY CMAKE_PATH RELEASE LIB_PATH CUSTOM_CMAKE) | ||||
| set(multiValueArgs CMAKE_OPTION LIBS PRE_CONFIGURE_COMMAND CONFIGURE_COMMAND BUILD_OPTION INSTALL_INCS INSTALL_LIBS PATCHES SUBMODULES SOURCEMODULES ONLY_MAKE ONLY_MAKE_INCS ONLY_MAKE_LIBS) | |||||
| set(multiValueArgs | |||||
| CMAKE_OPTION LIBS PRE_CONFIGURE_COMMAND CONFIGURE_COMMAND BUILD_OPTION INSTALL_INCS | |||||
| INSTALL_LIBS PATCHES SUBMODULES SOURCEMODULES ONLY_MAKE ONLY_MAKE_INCS ONLY_MAKE_LIBS) | |||||
| cmake_parse_arguments(PKG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) | cmake_parse_arguments(PKG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) | ||||
| if(NOT PKG_LIB_PATH) | if(NOT PKG_LIB_PATH) | ||||
| @@ -356,9 +358,13 @@ function(mindspore_add_pkg pkg_name) | |||||
| -DCMAKE_INSTALL_PREFIX=${${pkg_name}_BASE_DIR} ${${pkg_name}_SOURCE_DIR}/${PKG_CMAKE_PATH} | -DCMAKE_INSTALL_PREFIX=${${pkg_name}_BASE_DIR} ${${pkg_name}_SOURCE_DIR}/${PKG_CMAKE_PATH} | ||||
| WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}/_build) | WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}/_build) | ||||
| __exec_cmd(COMMAND ${CMAKE_COMMAND} --build . --target install -- -j${THNUM} | |||||
| WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}/_build) | |||||
| if(APPLE) | |||||
| __exec_cmd(COMMAND ${CMAKE_COMMAND} --build . --target install -- | |||||
| WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}/_build) | |||||
| else() | |||||
| __exec_cmd(COMMAND ${CMAKE_COMMAND} --build . --target install -- -j${THNUM} | |||||
| WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}/_build) | |||||
| endif() | |||||
| else() | else() | ||||
| if(${pkg_name}_CFLAGS) | if(${pkg_name}_CFLAGS) | ||||
| set(${pkg_name}_MAKE_CFLAGS "CFLAGS=${${pkg_name}_CFLAGS}") | set(${pkg_name}_MAKE_CFLAGS "CFLAGS=${${pkg_name}_CFLAGS}") | ||||
| @@ -387,8 +393,13 @@ function(mindspore_add_pkg pkg_name) | |||||
| ${${pkg_name}_MAKE_CFLAGS} ${${pkg_name}_MAKE_CXXFLAGS} ${${pkg_name}_MAKE_LDFLAGS}) | ${${pkg_name}_MAKE_CFLAGS} ${${pkg_name}_MAKE_CXXFLAGS} ${${pkg_name}_MAKE_LDFLAGS}) | ||||
| endif() | endif() | ||||
| # build | # build | ||||
| __exec_cmd(COMMAND ${CMAKE_MAKE_PROGRAM} ${${pkg_name}_BUILD_OPTION} -j${THNUM} | |||||
| WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}) | |||||
| if(APPLE) | |||||
| __exec_cmd(COMMAND ${CMAKE_MAKE_PROGRAM} ${${pkg_name}_BUILD_OPTION} | |||||
| WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}) | |||||
| else() | |||||
| __exec_cmd(COMMAND ${CMAKE_MAKE_PROGRAM} ${${pkg_name}_BUILD_OPTION} -j${THNUM} | |||||
| WORKING_DIRECTORY ${${pkg_name}_SOURCE_DIR}) | |||||
| endif() | |||||
| if(PKG_INSTALL_INCS OR PKG_INSTALL_LIBS) | if(PKG_INSTALL_INCS OR PKG_INSTALL_LIBS) | ||||
| file(GLOB ${pkg_name}_INSTALL_INCS ${${pkg_name}_SOURCE_DIR}/${PKG_INSTALL_INCS}) | file(GLOB ${pkg_name}_INSTALL_INCS ${${pkg_name}_SOURCE_DIR}/${PKG_INSTALL_INCS}) | ||||
| @@ -145,6 +145,10 @@ if(SUPPORT_TRAIN OR WIN32) | |||||
| set(ENABLE_MINDRT "off") | set(ENABLE_MINDRT "off") | ||||
| endif() | endif() | ||||
| if(DEFINED ARCHS) | |||||
| add_definitions(-DMS_COMPILE_IOS) | |||||
| endif() | |||||
| file(GLOB FBS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/schema/*.fbs) | file(GLOB FBS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/schema/*.fbs) | ||||
| ms_build_flatbuffers_lite(FBS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/schema/ fbs_src ${CMAKE_BINARY_DIR}/schema "") | ms_build_flatbuffers_lite(FBS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/schema/ fbs_src ${CMAKE_BINARY_DIR}/schema "") | ||||
| ms_build_flatbuffers_lite(FBS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/schema/ fbs_inner_src ${CMAKE_BINARY_DIR}/schema/inner | ms_build_flatbuffers_lite(FBS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/schema/ fbs_inner_src ${CMAKE_BINARY_DIR}/schema/inner | ||||
| @@ -231,7 +235,7 @@ endif() | |||||
| if(PLATFORM_ARM32 OR PLATFORM_ARM64) | if(PLATFORM_ARM32 OR PLATFORM_ARM64) | ||||
| if(NOT DEFINED ENV{ANDROID_NDK}) | |||||
| if(NOT APPLE AND NOT DEFINED ENV{ANDROID_NDK}) | |||||
| message(FATAL_ERROR "env ANDROID_NDK should be set for ARM compile") | message(FATAL_ERROR "env ANDROID_NDK should be set for ARM compile") | ||||
| endif() | endif() | ||||
| add_compile_definitions(ENABLE_ARM) | add_compile_definitions(ENABLE_ARM) | ||||
| @@ -277,7 +281,7 @@ endif() | |||||
| add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src) | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src) | ||||
| add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/nnacl) | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/nnacl) | ||||
| add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/micro/coder) | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/micro/coder) | ||||
| if(ENABLE_TOOLS) | |||||
| if(NOT APPLE AND ENABLE_TOOLS) | |||||
| add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/benchmark) | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/benchmark) | ||||
| if(SUPPORT_TRAIN) | if(SUPPORT_TRAIN) | ||||
| add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/benchmark_train) | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/benchmark_train) | ||||
| @@ -295,5 +299,6 @@ if(NOT WIN32) | |||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| include(${TOP_DIR}/cmake/package_lite.cmake) | |||||
| if(NOT APPLE) | |||||
| include(${TOP_DIR}/cmake/package_lite.cmake) | |||||
| endif() | |||||
| @@ -4,7 +4,13 @@ set(NNACL_DIR ${CMAKE_CURRENT_SOURCE_DIR}) | |||||
| include_directories(NNACL_DIR) | include_directories(NNACL_DIR) | ||||
| if(PLATFORM_ARM32 OR PLATFORM_ARM64) | if(PLATFORM_ARM32 OR PLATFORM_ARM64) | ||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") | |||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND DEFINED ARCHS) | |||||
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstrict-aliasing \ | |||||
| -ffunction-sections -fdata-sections -ffast-math -Wno-shorten-64-to-32") | |||||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstrict-aliasing \ | |||||
| -ffunction-sections -fdata-sections -ffast-math -Wno-shorten-64-to-32") | |||||
| endif() | |||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND NOT DEFINED ARCHS) | |||||
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer -fstrict-aliasing \ | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer -fstrict-aliasing \ | ||||
| -ffunction-sections -fdata-sections -ffast-math") | -ffunction-sections -fdata-sections -ffast-math") | ||||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer -fstrict-aliasing \ | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer -fstrict-aliasing \ | ||||
| @@ -51,6 +57,10 @@ if("${X86_64_SIMD}" STREQUAL "avx") | |||||
| set_property(SOURCE ${ASSEMBLY_SRC} PROPERTY LANGUAGE C) | set_property(SOURCE ${ASSEMBLY_SRC} PROPERTY LANGUAGE C) | ||||
| endif() | endif() | ||||
| if(APPLE) | |||||
| set_source_files_properties(${ASSEMBLY_SRC} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp") | |||||
| endif() | |||||
| ########################### build nnacl static library ######################## | ########################### build nnacl static library ######################## | ||||
| string(REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") | string(REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") | ||||
| add_library(nnacl STATIC ${KERNEL_SRC} ${TRAIN_SRC} ${ASSEMBLY_SRC}) | add_library(nnacl STATIC ${KERNEL_SRC} ${TRAIN_SRC} ${ASSEMBLY_SRC}) | ||||
| @@ -18,15 +18,16 @@ | |||||
| .macro asm_function fname | .macro asm_function fname | ||||
| #ifdef __APPLE__ | #ifdef __APPLE__ | ||||
| .globl _\fname _\fname : | |||||
| .globl _\fname; | |||||
| _\fname : | |||||
| #else | #else | ||||
| .global \fname | |||||
| .global \fname; | |||||
| #ifdef __ELE__ | #ifdef __ELE__ | ||||
| .hidden \fname.type \fname, | |||||
| % function | |||||
| .hidden \fname; | |||||
| .type \fname, % function; | |||||
| #endif | #endif | ||||
| \fname : | \fname : | ||||
| #endif | #endif | ||||
| .endm | |||||
| .endm | |||||
| #endif // MINDSPORE_LITE_NNACL_ASSEMBLY_GLOBAL_H | #endif // MINDSPORE_LITE_NNACL_ASSEMBLY_GLOBAL_H | ||||
| @@ -14,6 +14,7 @@ | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "nnacl/fp16/activation_fp16.h" | #include "nnacl/fp16/activation_fp16.h" | ||||
| #include <float.h> | |||||
| #include "nnacl/fp32/exp_fp32.h" | #include "nnacl/fp32/exp_fp32.h" | ||||
| #include "nnacl/errorcode.h" | #include "nnacl/errorcode.h" | ||||
| @@ -16,6 +16,7 @@ | |||||
| #include "nnacl/fp16/lstm_fp16.h" | #include "nnacl/fp16/lstm_fp16.h" | ||||
| #include <string.h> | #include <string.h> | ||||
| #include <float.h> | |||||
| #include "nnacl/fp16/activation_fp16.h" | #include "nnacl/fp16/activation_fp16.h" | ||||
| #include "nnacl/fp16/arithmetic_fp16.h" | #include "nnacl/fp16/arithmetic_fp16.h" | ||||
| #include "nnacl/fp16/matmul_fp16.h" | #include "nnacl/fp16/matmul_fp16.h" | ||||
| @@ -12,6 +12,10 @@ set_property(SOURCE ${SDOT_SRC} PROPERTY LANGUAGE C) | |||||
| set_property(SOURCE ${FP16_C_SRC} PROPERTY LANGUAGE C) | set_property(SOURCE ${FP16_C_SRC} PROPERTY LANGUAGE C) | ||||
| set_property(SOURCE ${FP16_NEON_SRC} PROPERTY LANGUAGE C) | set_property(SOURCE ${FP16_NEON_SRC} PROPERTY LANGUAGE C) | ||||
| if(APPLE) | |||||
| set_source_files_properties(${SDOT_SRC} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp") | |||||
| set_source_files_properties(${FP16_NEON_SRC} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp") | |||||
| endif() | |||||
| ########################### share library build ######################## | ########################### share library build ######################## | ||||
| list(APPEND SDOT_FILES ${SDOT_SRC}) | list(APPEND SDOT_FILES ${SDOT_SRC}) | ||||
| list(APPEND FP16_FILES ${FP16_C_SRC}) | list(APPEND FP16_FILES ${FP16_C_SRC}) | ||||
| @@ -8,12 +8,18 @@ include_directories(${LITE_DIR}/nnacl/optimize) | |||||
| if(PLATFORM_ARM32 OR PLATFORM_ARM64) | if(PLATFORM_ARM32 OR PLATFORM_ARM64) | ||||
| #for performance | #for performance | ||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") | |||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND NOT APPLE) | |||||
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer -fstrict-aliasing -ffunction-sections \ | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer -fstrict-aliasing -ffunction-sections \ | ||||
| -fdata-sections -ffast-math -fno-rtti -fno-exceptions") | -fdata-sections -ffast-math -fno-rtti -fno-exceptions") | ||||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer -fstrict-aliasing -ffunction-sections \ | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer -fstrict-aliasing -ffunction-sections \ | ||||
| -fdata-sections -ffast-math -fno-rtti -fno-exceptions") | -fdata-sections -ffast-math -fno-rtti -fno-exceptions") | ||||
| endif() | endif() | ||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND APPLE) | |||||
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstrict-aliasing -ffunction-sections \ | |||||
| -fdata-sections -ffast-math -fno-rtti -fno-exceptions -Wno-shorten-64-to-32") | |||||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstrict-aliasing -ffunction-sections \ | |||||
| -fdata-sections -ffast-math -fno-rtti -fno-exceptions -Wno-shorten-64-to-32") | |||||
| endif() | |||||
| endif() | endif() | ||||
| set(API_SRC | set(API_SRC | ||||
| @@ -177,18 +183,18 @@ if(SUPPORT_TRAIN) | |||||
| endif() | endif() | ||||
| if(PLATFORM_ARM) | |||||
| if(NOT APPLE AND PLATFORM_ARM) | |||||
| set(NDK_STRIP | set(NDK_STRIP | ||||
| "${ANDROID_NDK}/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin/strip") | "${ANDROID_NDK}/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin/strip") | ||||
| endif() | endif() | ||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND PLATFORM_ARM) | |||||
| if(NOT APPLE AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND PLATFORM_ARM) | |||||
| add_custom_command(TARGET mindspore-lite POST_BUILD COMMAND ${NDK_STRIP} | add_custom_command(TARGET mindspore-lite POST_BUILD COMMAND ${NDK_STRIP} | ||||
| ${CMAKE_BINARY_DIR}/src/libmindspore-lite.so) | ${CMAKE_BINARY_DIR}/src/libmindspore-lite.so) | ||||
| endif() | endif() | ||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") | if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") | ||||
| if(PLATFORM_ARM) | |||||
| if(NOT APPLE AND PLATFORM_ARM) | |||||
| add_custom_command(TARGET mindspore-lite POST_BUILD COMMAND ${NDK_STRIP} | add_custom_command(TARGET mindspore-lite POST_BUILD COMMAND ${NDK_STRIP} | ||||
| ${CMAKE_BINARY_DIR}/src/libmindspore-lite.so) | ${CMAKE_BINARY_DIR}/src/libmindspore-lite.so) | ||||
| elseif(NOT WIN32) | elseif(NOT WIN32) | ||||
| @@ -205,3 +211,54 @@ if(PLATFORM_ARM64) | |||||
| target_link_libraries(mindspore-lite_static cpu_fp16_kernel_mid nnacl_fp16_mid) | target_link_libraries(mindspore-lite_static cpu_fp16_kernel_mid nnacl_fp16_mid) | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| if(DEFINED ARCHS) | |||||
| set(MINDSPORE_LITE_PUB_HDRS | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/context.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/errorcode.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/lite_session.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/lite_types.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/lite_utils.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/model.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/ms_tensor.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../include/version.h | |||||
| ) | |||||
| set(MINDSPORE_LITE_PUB_HDRS_IR_HDRS | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/../../core/ir/dtype/type_id.h | |||||
| ) | |||||
| add_library(mindspore_lite STATIC | |||||
| ${LITE_SRC} | |||||
| ${MINDSPORE_LITE_PUB_HDRS} | |||||
| ${MINDSPORE_LITE_PUB_HDRS_IR_HDRS} | |||||
| ) | |||||
| add_dependencies(mindspore_lite fbs_src) | |||||
| set_target_properties(mindspore_lite PROPERTIES OUTPUT_NAME "mindspore_lite") | |||||
| set_target_properties(mindspore_lite PROPERTIES CLEAN_DIRECT_OUTPUT 1) | |||||
| target_link_libraries(mindspore_lite cpu_kernel_mid nnacl_mid cpu_ops_mid) | |||||
| target_link_libraries(mindspore_lite log) | |||||
| if(ENABLE_MINDRT) | |||||
| target_link_libraries(mindspore_lite mindrt_mid) | |||||
| endif() | |||||
| if(PLATFORM_ARM64) | |||||
| target_link_libraries(mindspore_lite cpu_opt_kernel_mid nnacl_optimize_mid) | |||||
| if(ENABLE_FP16) | |||||
| target_link_libraries(mindspore_lite cpu_fp16_kernel_mid nnacl_fp16_mid) | |||||
| endif() | |||||
| endif() | |||||
| set_target_properties(mindspore_lite PROPERTIES FRAMEWORK TRUE) | |||||
| set_target_properties(mindspore_lite PROPERTIES | |||||
| OUTPUT_NAME "mindspore_lite" | |||||
| FRAMEWORK_VERSION C | |||||
| XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer" | |||||
| XCODE_ATTRIBUTE_INSTALL_PAYH "@rpath" | |||||
| ) | |||||
| FOREACH(HDR ${MINDSPORE_LITE_PUB_HDRS}) | |||||
| SET_SOURCE_FILES_PROPERTIES(${HDR} PROPERTIES MACOSX_PACKAGE_LOCATION Headers/) | |||||
| ENDFOREACH() | |||||
| FOREACH(HDR ${MINDSPORE_LITE_PUB_HDRS_IR_HDRS}) | |||||
| SET_SOURCE_FILES_PROPERTIES(${HDR} PROPERTIES MACOSX_PACKAGE_LOCATION Headers/ir/dtype/) | |||||
| ENDFOREACH() | |||||
| target_link_libraries(mindspore_lite) | |||||
| endif() | |||||
| @@ -19,12 +19,16 @@ | |||||
| #include <cstdio> | #include <cstdio> | ||||
| #ifdef ENABLE_ARM | #ifdef ENABLE_ARM | ||||
| #if defined(__ANDROID__) || defined(ANDROID) | |||||
| #include <android/log.h> | #include <android/log.h> | ||||
| #endif | #endif | ||||
| #endif | |||||
| // namespace to support utils module definition namespace mindspore constexpr const char *ANDROID_LOG_TAG = "MS_LITE"; | // namespace to support utils module definition namespace mindspore constexpr const char *ANDROID_LOG_TAG = "MS_LITE"; | ||||
| namespace mindspore { | namespace mindspore { | ||||
| #if defined(__ANDROID__) || defined(ANDROID) | |||||
| constexpr const char *ANDROID_LOG_TAG = "MS_LITE"; | constexpr const char *ANDROID_LOG_TAG = "MS_LITE"; | ||||
| #endif | |||||
| int StrToInt(const char *env) { | int StrToInt(const char *env) { | ||||
| if (env == nullptr) return 2; | if (env == nullptr) return 2; | ||||
| @@ -45,6 +49,7 @@ bool IsPrint(int level) { | |||||
| } | } | ||||
| #ifdef ENABLE_ARM | #ifdef ENABLE_ARM | ||||
| #if defined(__ANDROID__) || defined(ANDROID) | |||||
| // convert MsLogLevel to corresponding android level | // convert MsLogLevel to corresponding android level | ||||
| static int GetAndroidLogLevel(MsLogLevel level) { | static int GetAndroidLogLevel(MsLogLevel level) { | ||||
| switch (level) { | switch (level) { | ||||
| @@ -60,6 +65,7 @@ static int GetAndroidLogLevel(MsLogLevel level) { | |||||
| } | } | ||||
| } | } | ||||
| #endif | #endif | ||||
| #endif | |||||
| const char *EnumStrForMsLogLevel(MsLogLevel level) { | const char *EnumStrForMsLogLevel(MsLogLevel level) { | ||||
| if (level == DEBUG) { | if (level == DEBUG) { | ||||
| @@ -78,8 +84,10 @@ const char *EnumStrForMsLogLevel(MsLogLevel level) { | |||||
| void LogWriter::OutputLog(const std::ostringstream &msg) const { | void LogWriter::OutputLog(const std::ostringstream &msg) const { | ||||
| if (IsPrint(log_level_)) { | if (IsPrint(log_level_)) { | ||||
| #ifdef ENABLE_ARM | #ifdef ENABLE_ARM | ||||
| #if defined(__ANDROID__) || defined(ANDROID) | |||||
| __android_log_print(GetAndroidLogLevel(log_level_), ANDROID_LOG_TAG, "[%s:%d] %s] %s", location_.file_, | __android_log_print(GetAndroidLogLevel(log_level_), ANDROID_LOG_TAG, "[%s:%d] %s] %s", location_.file_, | ||||
| location_.line_, location_.func_, msg.str().c_str()); | location_.line_, location_.func_, msg.str().c_str()); | ||||
| #endif | |||||
| #else | #else | ||||
| printf("%s [%s:%d] %s] %s\n", EnumStrForMsLogLevel(log_level_), location_.file_, location_.line_, location_.func_, | printf("%s [%s:%d] %s] %s\n", EnumStrForMsLogLevel(log_level_), location_.file_, location_.line_, location_.func_, | ||||
| msg.str().c_str()); | msg.str().c_str()); | ||||
| @@ -138,6 +138,7 @@ uint32_t getHwCap(int hwcap_type) { | |||||
| bool IsSupportSDot() { | bool IsSupportSDot() { | ||||
| bool status = false; | bool status = false; | ||||
| #ifdef ENABLE_ARM64 | #ifdef ENABLE_ARM64 | ||||
| #if defined(__ANDROID__) | |||||
| int hwcap_type = 16; | int hwcap_type = 16; | ||||
| uint32_t hwcap = getHwCap(hwcap_type); | uint32_t hwcap = getHwCap(hwcap_type); | ||||
| if (hwcap & HWCAP_ASIMDDP) { | if (hwcap & HWCAP_ASIMDDP) { | ||||
| @@ -147,6 +148,7 @@ bool IsSupportSDot() { | |||||
| MS_LOG(DEBUG) << "Hw cap NOT support SIMD Dot Product, hwcap: 0x" << hwcap; | MS_LOG(DEBUG) << "Hw cap NOT support SIMD Dot Product, hwcap: 0x" << hwcap; | ||||
| status = false; | status = false; | ||||
| } | } | ||||
| #endif | |||||
| #endif | #endif | ||||
| return status; | return status; | ||||
| } | } | ||||
| @@ -154,6 +156,7 @@ bool IsSupportSDot() { | |||||
| bool IsSupportFloat16() { | bool IsSupportFloat16() { | ||||
| bool status = false; | bool status = false; | ||||
| #ifdef ENABLE_ARM64 | #ifdef ENABLE_ARM64 | ||||
| #if defined(__ANDROID__) | |||||
| int hwcap_type = 16; | int hwcap_type = 16; | ||||
| uint32_t hwcap = getHwCap(hwcap_type); | uint32_t hwcap = getHwCap(hwcap_type); | ||||
| if (hwcap & HWCAP_FPHP) { | if (hwcap & HWCAP_FPHP) { | ||||
| @@ -163,6 +166,7 @@ bool IsSupportFloat16() { | |||||
| MS_LOG(DEBUG) << "Hw cap NOT support FP16, hwcap: 0x" << hwcap; | MS_LOG(DEBUG) << "Hw cap NOT support FP16, hwcap: 0x" << hwcap; | ||||
| status = false; | status = false; | ||||
| } | } | ||||
| #endif | |||||
| #endif | #endif | ||||
| return status; | return status; | ||||
| } | } | ||||
| @@ -20,7 +20,9 @@ | |||||
| #include "src/common/prim_util.h" | #include "src/common/prim_util.h" | ||||
| #include "nnacl/pooling_parameter.h" | #include "nnacl/pooling_parameter.h" | ||||
| #ifdef ENABLE_ARM64 | #ifdef ENABLE_ARM64 | ||||
| #if defined(__ANDROID__) | |||||
| #include <asm/hwcap.h> | #include <asm/hwcap.h> | ||||
| #endif | |||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "src/common/log_adapter.h" | #include "src/common/log_adapter.h" | ||||
| #include "src/common/utils.h" | #include "src/common/utils.h" | ||||
| @@ -23,8 +23,10 @@ | |||||
| #include <limits> | #include <limits> | ||||
| #ifdef ENABLE_ARM | #ifdef ENABLE_ARM | ||||
| #include <arm_neon.h> | #include <arm_neon.h> | ||||
| #if defined(__ANDROID__) || defined(ANDROID) | |||||
| #include <android/log.h> | #include <android/log.h> | ||||
| #endif | #endif | ||||
| #endif | |||||
| #include "src/lite_kernel.h" | #include "src/lite_kernel.h" | ||||
| #include "include/context.h" | #include "include/context.h" | ||||
| #include "src/runtime/kernel/arm/base/layout_transform.h" | #include "src/runtime/kernel/arm/base/layout_transform.h" | ||||
| @@ -40,7 +40,7 @@ int RandomStandardNormalCPUKernel::Run() { | |||||
| } else { | } else { | ||||
| random_seed = static_cast<size_t>(clock()); | random_seed = static_cast<size_t>(clock()); | ||||
| } | } | ||||
| std::default_random_engine engine{random_seed}; | |||||
| std::default_random_engine engine{static_cast<unsigned int>(random_seed)}; | |||||
| std::normal_distribution<double> nums(0, 1.0); | std::normal_distribution<double> nums(0, 1.0); | ||||
| auto all_data_nums = out_tensors_[0]->ElementsNum(); | auto all_data_nums = out_tensors_[0]->ElementsNum(); | ||||
| auto out_data = out_tensors_[0]->data_c(); | auto out_data = out_tensors_[0]->data_c(); | ||||
| @@ -16,6 +16,7 @@ | |||||
| #include "src/runtime/kernel/arm/fp16/lstm_fp16.h" | #include "src/runtime/kernel/arm/fp16/lstm_fp16.h" | ||||
| #include <vector> | #include <vector> | ||||
| #include <cfloat> | |||||
| #include "schema/model_generated.h" | #include "schema/model_generated.h" | ||||
| #include "src/kernel_registry.h" | #include "src/kernel_registry.h" | ||||
| #include "include/errorcode.h" | #include "include/errorcode.h" | ||||
| @@ -18,6 +18,7 @@ | |||||
| #include <arm_neon.h> | #include <arm_neon.h> | ||||
| #include <vector> | #include <vector> | ||||
| #include <cfloat> | |||||
| #include "src/lite_kernel.h" | #include "src/lite_kernel.h" | ||||
| #include "src/runtime/kernel/arm/base/pooling_base.h" | #include "src/runtime/kernel/arm/base/pooling_base.h" | ||||
| @@ -27,6 +27,11 @@ | |||||
| #include <unistd.h> | #include <unistd.h> | ||||
| #include <sched.h> | #include <sched.h> | ||||
| #endif | #endif | ||||
| #ifdef MS_COMPILE_IOS | |||||
| #include <sys/types.h> | |||||
| #include <sys/sysctl.h> | |||||
| #include <mach/machine.h> | |||||
| #endif // MS_COMPILE_IOS | |||||
| #ifdef THREAD_POOL_DEBUG | #ifdef THREAD_POOL_DEBUG | ||||
| #include <stdio.h> | #include <stdio.h> | ||||