Merge branch 'master' into ag_build_fixes
commit
e10b172376
|
@ -82,14 +82,11 @@ OPERATIONS=
|
||||||
CLEAN="false"
|
CLEAN="false"
|
||||||
MINIFIER="false"
|
MINIFIER="false"
|
||||||
TESTS="false"
|
TESTS="false"
|
||||||
VERBOSE="false"
|
VERBOSE="true"
|
||||||
VERBOSE_ARG="VERBOSE=1"
|
VERBOSE_ARG="VERBOSE=1"
|
||||||
HELPER=
|
HELPER=
|
||||||
CHECK_VECTORIZATION="OFF"
|
CHECK_VECTORIZATION="OFF"
|
||||||
SYS_ROOT=
|
|
||||||
EXTRA_LINK_FLAGS=
|
|
||||||
NAME=
|
NAME=
|
||||||
EXTRA_CUDA_FLAGS=
|
|
||||||
while [[ $# -gt 0 ]]
|
while [[ $# -gt 0 ]]
|
||||||
do
|
do
|
||||||
key="$1"
|
key="$1"
|
||||||
|
@ -402,11 +399,6 @@ if [ -z "$BUILD" ]; then
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$SYS_ROOT" ]; then
|
|
||||||
export SYS_ROOT=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if [ -z "$CHIP" ]; then
|
if [ -z "$CHIP" ]; then
|
||||||
CHIP="cpu"
|
CHIP="cpu"
|
||||||
fi
|
fi
|
||||||
|
@ -518,12 +510,6 @@ if [ "$TESTS" == "true" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ "$SYS_ROOT" != "" ]; then
|
|
||||||
EXTRA_SYSROOT="-DCMAKE_SYSROOT=$SYS_ROOT"
|
|
||||||
else
|
|
||||||
EXTRA_SYSROOT=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
ARCH_ARG="-DSD_ARCH=$ARCH -DSD_EXTENSION=$CHIP_EXTENSION"
|
ARCH_ARG="-DSD_ARCH=$ARCH -DSD_EXTENSION=$CHIP_EXTENSION"
|
||||||
|
|
||||||
CUDA_COMPUTE="-DCOMPUTE=\"$COMPUTE\""
|
CUDA_COMPUTE="-DCOMPUTE=\"$COMPUTE\""
|
||||||
|
@ -531,16 +517,8 @@ CUDA_COMPUTE="-DCOMPUTE=\"$COMPUTE\""
|
||||||
if [ "$CHIP" == "cuda" ] && [ -n "$CHIP_VERSION" ]; then
|
if [ "$CHIP" == "cuda" ] && [ -n "$CHIP_VERSION" ]; then
|
||||||
case $OS in
|
case $OS in
|
||||||
linux*)
|
linux*)
|
||||||
|
if [ "${CUDA_PATH-}" == "" ]; then
|
||||||
export CUDA_PATH="/usr/local/cuda-$CHIP_VERSION/"
|
export CUDA_PATH="/usr/local/cuda-$CHIP_VERSION/"
|
||||||
# Cross compilation for jetson nano
|
|
||||||
if [ "$ARCH" != "x86-64" ]; then
|
|
||||||
if [ "$ARCH" == "armv8-a" ]; then
|
|
||||||
export EXTRA_CUDA_FLAGS="-DCUDA_TARGET_CPU_ARCH=AARCH64"
|
|
||||||
else
|
|
||||||
export EXTRA_CUDA_FLAGS="-DCUDA_TARGET_CPU_ARCH=ARM"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
export EXTRA_CUDA_FLAGS=""
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
macosx*)
|
macosx*)
|
||||||
|
@ -609,13 +587,6 @@ else
|
||||||
IFS=' '
|
IFS=' '
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LINKER_FLAGS=""
|
|
||||||
if [ "$EXTRA_LINK_FLAGS" != "" ]; then
|
|
||||||
LINKER_FLAGS="-DCMAKE_CXX_LINK_FLAGS=$EXTRA_LINK_FLAGS -DCMAKE_EXE_LINKER_FLAGS=$EXTRA_LINK_FLAGS -DCMAKE_CUDA_FLAGS=$EXTRA_LINK_FLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo PACKAGING = "${PACKAGING}"
|
echo PACKAGING = "${PACKAGING}"
|
||||||
echo BUILD = "${BUILD}"
|
echo BUILD = "${BUILD}"
|
||||||
echo CHIP = "${CHIP}"
|
echo CHIP = "${CHIP}"
|
||||||
|
@ -632,12 +603,9 @@ echo NAME = "${NAME_ARG}"
|
||||||
echo OPENBLAS_PATH = "$OPENBLAS_PATH"
|
echo OPENBLAS_PATH = "$OPENBLAS_PATH"
|
||||||
echo CHECK_VECTORIZATION = "$CHECK_VECTORIZATION"
|
echo CHECK_VECTORIZATION = "$CHECK_VECTORIZATION"
|
||||||
echo HELPERS = "$HELPERS"
|
echo HELPERS = "$HELPERS"
|
||||||
echo EXTRA_LINK_FLAGS = "$EXTRA_LINK_FLAGS"
|
|
||||||
echo EXTRA_CUDA_FLAGS = "$EXTRA_CUDA_FLAGS"
|
|
||||||
echo EXTRA_SYSROOT = "$EXTRA_SYSROOT"
|
|
||||||
mkbuilddir
|
mkbuilddir
|
||||||
pwd
|
pwd
|
||||||
eval "$CMAKE_COMMAND" "$EXTRA_SYSROOT" "$LINKER_FLAGS" "$EXTRA_CUDA_FLAGS" "$BLAS_ARG" "$ARCH_ARG" "$NAME_ARG" -DSD_CHECK_VECTORIZATION="${CHECK_VECTORIZATION}" "$HELPERS" "$SHARED_LIBS_ARG" "$MINIFIER_ARG" "$OPERATIONS_ARG" "$BUILD_TYPE" "$PACKAGING_ARG" "$EXPERIMENTAL_ARG" "$TESTS_ARG" "$CUDA_COMPUTE" -DOPENBLAS_PATH="$OPENBLAS_PATH" -DDEV=FALSE -DCMAKE_NEED_RESPONSE=YES -DMKL_MULTI_THREADED=TRUE ../..
|
eval "$CMAKE_COMMAND" "$BLAS_ARG" "$ARCH_ARG" "$NAME_ARG" -DSD_CHECK_VECTORIZATION="${CHECK_VECTORIZATION}" "$HELPERS" "$SHARED_LIBS_ARG" "$MINIFIER_ARG" "$OPERATIONS_ARG" "$BUILD_TYPE" "$PACKAGING_ARG" "$EXPERIMENTAL_ARG" "$TESTS_ARG" "$CUDA_COMPUTE" -DOPENBLAS_PATH="$OPENBLAS_PATH" -DDEV=FALSE -DCMAKE_NEED_RESPONSE=YES -DMKL_MULTI_THREADED=TRUE ../..
|
||||||
|
|
||||||
if [ "$PARALLEL" == "true" ]; then
|
if [ "$PARALLEL" == "true" ]; then
|
||||||
MAKE_ARGUMENTS="$MAKE_ARGUMENTS -j $MAKEJ"
|
MAKE_ARGUMENTS="$MAKE_ARGUMENTS -j $MAKEJ"
|
||||||
|
@ -658,3 +626,4 @@ exec 3>&-
|
||||||
else
|
else
|
||||||
eval "$MAKE_COMMAND" "$MAKE_ARGUMENTS" && cd ../../..
|
eval "$MAKE_COMMAND" "$MAKE_ARGUMENTS" && cd ../../..
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -16,16 +16,43 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
################################################################################
|
################################################################################
|
||||||
# CMake toolchain to build libnd4j for Raspberry PI. Sample usage:
|
|
||||||
#
|
|
||||||
# PI_BIN=/path/to/raspberrypi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf \
|
|
||||||
# cmake -DCMAKE_TOOLCHAIN_FILE=rpi.cmake -DCMAKE_INSTALL_PREFIX=..
|
|
||||||
|
|
||||||
SET(CMAKE_SYSTEM_NAME Linux)
|
SET(CMAKE_SYSTEM_NAME Linux)
|
||||||
SET(CMAKE_SYSTEM_VERSION 1)
|
SET(CMAKE_SYSTEM_VERSION 1)
|
||||||
|
|
||||||
set(CMAKE_C_COMPILER "$ENV{RPI_BIN}-gcc" CACHE STRING "" FORCE)
|
set(CMAKE_C_COMPILER "$ENV{RPI_BIN}-gcc" )
|
||||||
set(CMAKE_CXX_COMPILER "$ENV{RPI_BIN}-g++" CACHE STRING "" FORCE)
|
set(CMAKE_CXX_COMPILER "$ENV{RPI_BIN}-g++" )
|
||||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
||||||
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
if (SD_CUDA)
|
||||||
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
if(${SD_ARCH} MATCHES "armv8")
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
||||||
|
else()
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR ${SD_ARCH})
|
||||||
|
endif()
|
||||||
|
set(CUDA_TARGET_CPU_ARCH ${CMAKE_SYSTEM_PROCESSOR})
|
||||||
|
set(CUDA_TARGET_OS_VARIANT "linux")
|
||||||
|
if (SD_CUDA)
|
||||||
|
set(ENV{CUDAHOSTCXX} "${CMAKE_CXX_COMPILER}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH "")
|
||||||
|
|
||||||
|
if(DEFINED ENV{SYSROOT})
|
||||||
|
set(CMAKE_SYSROOT "$ENV{SYSROOT}")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --sysroot=$ENV{SYSROOT}")
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --sysroot=$ENV{SYSROOT}")
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --sysroot=$ENV{SYSROOT}")
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} --sysroot=$ENV{SYSROOT}")
|
||||||
|
list(APPEND CMAKE_FIND_ROOT_PATH "$ENV{SYSROOT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(DEFINED ENV{CUDNN_ROOT_DIR})
|
||||||
|
list(APPEND CMAKE_FIND_ROOT_PATH "$ENV{CUDNN_ROOT_DIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
#search only in target path
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
|
@ -24,12 +24,12 @@ function message {
|
||||||
}
|
}
|
||||||
if [ -z "${BUILD_USING_MAVEN}" ]; then export BUILD_USING_MAVEN=; fi
|
if [ -z "${BUILD_USING_MAVEN}" ]; then export BUILD_USING_MAVEN=; fi
|
||||||
if [ -z "${CURRENT_TARGET}" ]; then export CURRENT_TARGET=arm32; fi
|
if [ -z "${CURRENT_TARGET}" ]; then export CURRENT_TARGET=arm32; fi
|
||||||
if [ -z "${HAS_ARMCOMPUTE}" ]; then export ARMCOMPUTE_DEBUG=1; fi
|
if [ -z "${ARMCOMPUTE_DEBUG}" ]; then export ARMCOMPUTE_DEBUG=1; fi
|
||||||
if [ -z "${ARMCOMPUTE_DEBUG}" ]; then export HAS_ARMCOMPUTE=1; fi
|
if [ -z "${HAS_ARMCOMPUTE}" ]; then export HAS_ARMCOMPUTE=1; fi
|
||||||
if [ -z "${ARMCOMPUTE_TAG}" ]; then export ARMCOMPUTE_TAG=v20.05; fi
|
if [ -z "${ARMCOMPUTE_TAG}" ]; then export ARMCOMPUTE_TAG=v20.05; fi
|
||||||
if [ -z "${LIBND4J_BUILD_MODE}" ]; then export LIBND4J_BUILD_MODE=Release; fi
|
if [ -z "${LIBND4J_BUILD_MODE}" ]; then export LIBND4J_BUILD_MODE=Release; fi
|
||||||
if [ -z "${ANDROID_VERSION}" ]; then export ANDROID_VERSION=21; fi
|
if [ -z "${ANDROID_VERSION}" ]; then export ANDROID_VERSION=21; fi
|
||||||
if [ -z "${HAS_ARMCOMPUTE}" ]; then export HAS_ARMCOMPUTE=1; fi
|
if [ -z "${CUDA_VER}" ]; then export CUDA_VER=10.2; fi
|
||||||
|
|
||||||
OTHER_ARGS=()
|
OTHER_ARGS=()
|
||||||
while [[ $# -gt 0 ]]
|
while [[ $# -gt 0 ]]
|
||||||
|
@ -56,16 +56,17 @@ done
|
||||||
CC_URL32="https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz?revision=e09a1c45-0ed3-4a8e-b06b-db3978fd8d56&la=en&hash=93ED4444B8B3A812B893373B490B90BBB28FD2E3"
|
CC_URL32="https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz?revision=e09a1c45-0ed3-4a8e-b06b-db3978fd8d56&la=en&hash=93ED4444B8B3A812B893373B490B90BBB28FD2E3"
|
||||||
CC_URL64="https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz?revision=2e88a73f-d233-4f96-b1f4-d8b36e9bb0b9&la=en&hash=167687FADA00B73D20EED2A67D0939A197504ACD"
|
CC_URL64="https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz?revision=2e88a73f-d233-4f96-b1f4-d8b36e9bb0b9&la=en&hash=167687FADA00B73D20EED2A67D0939A197504ACD"
|
||||||
CC_ANDROID="https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip"
|
CC_ANDROID="https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip"
|
||||||
TARGET_ARRS=( arm32 arm64 android-arm android-arm64 )
|
CC_L4T64="https://developer.nvidia.com/embedded/dlc/l4t-gcc-7-3-1-toolchain-64-bit"
|
||||||
COMPILER_ARRS=( "${CC_URL32}" "${CC_URL64}" "${CC_ANDROID}" "${CC_ANDROID}" )
|
TARGET_ARRS=( arm32 arm64 android-arm android-arm64 android-x86 android-x86_64 jetson_arm64)
|
||||||
COMPILER_DOWNLOAD_CMD_LIST=( download_extract_xz download_extract_xz download_extract_unzip download_extract_unzip )
|
COMPILER_ARRS=( "${CC_URL32}" "${CC_URL64}" "${CC_ANDROID}" "${CC_ANDROID}" "${CC_ANDROID}" "${CC_ANDROID}" "${CC_L4T64}" )
|
||||||
COMPILER_DESTDIR=( "arm32" "arm64" "android" "android" )
|
COMPILER_DOWNLOAD_CMD_LIST=( download_extract_xz download_extract_xz download_extract_unzip download_extract_unzip download_extract_unzip download_extract_unzip download_extract_xz)
|
||||||
|
COMPILER_DESTDIR=( "arm32" "arm64" "android" "android" "android" "android" "l4t" )
|
||||||
|
|
||||||
OPENBLAS_TARGETS=( ARMV7 ARMV8 ARMV7 ARMV8)
|
OPENBLAS_TARGETS=( ARMV7 ARMV8 ARMV7 ARMV8 ATOM ATOM ARMV8)
|
||||||
ARMCOMPUTE_TARGETS=( armv7a arm64-v8a armv7a arm64-v8a)
|
ARMCOMPUTE_TARGETS=( armv7a arm64-v8a armv7a arm64-v8a None None None)
|
||||||
OS_LIST=( linux linux android android)
|
OS_LIST=( linux linux android android android android linux)
|
||||||
LIBND4J_PLATFORM_EXT_LIST=( armhf arm64 arm arm64 )
|
LIBND4J_PLATFORM_EXT_LIST=( armhf arm64 arm arm64 x86 x86_64 arm64)
|
||||||
PREFIXES=( arm-linux-gnueabihf aarch64-linux-gnu arm-linux-androideabi aarch64-linux-android )
|
PREFIXES=( arm-linux-gnueabihf aarch64-linux-gnu arm-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android aarch64-linux-gnu)
|
||||||
TARGET_INDEX=-1
|
TARGET_INDEX=-1
|
||||||
|
|
||||||
for i in "${!TARGET_ARRS[@]}"; do
|
for i in "${!TARGET_ARRS[@]}"; do
|
||||||
|
@ -144,23 +145,27 @@ function rename_top_folder {
|
||||||
}
|
}
|
||||||
|
|
||||||
function download_extract_base {
|
function download_extract_base {
|
||||||
#$1 is url #2 is dir $3 is extract argument
|
#$1 is extract arg, $2 is url, $3 is dir
|
||||||
if [ ! -f ${3}_file ]; then
|
xtract_arg=${1}
|
||||||
message "download"
|
down_url=${2}
|
||||||
wget --quiet --show-progress -O ${3}_file ${2}
|
down_dir=$(dirname "${3}/__")
|
||||||
|
down_file="${down_dir}_file"
|
||||||
|
if [ ! -f ${down_file} ]; then
|
||||||
|
message "download ${down_url}"
|
||||||
|
wget --quiet --show-progress -O ${down_file} ${down_url}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
message "extract $@"
|
message "extract $@"
|
||||||
#extract
|
#extract
|
||||||
mkdir -p ${3}
|
mkdir -p ${down_dir}
|
||||||
if [ ${1} = "-unzip" ]; then
|
if [ ${xtract_arg} = "-unzip" ]; then
|
||||||
command="unzip -qq ${3}_file -d ${3} "
|
command="unzip -qq ${down_file} -d ${down_dir} "
|
||||||
else
|
else
|
||||||
command="tar ${1} ${3}_file --directory=${3} "
|
command="tar ${xtract_arg} ${down_file} --directory=${down_dir} "
|
||||||
fi
|
fi
|
||||||
message $command
|
message $command
|
||||||
$command
|
$command
|
||||||
check_requirements "${3}"
|
check_requirements "${down_dir}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function download_extract {
|
function download_extract {
|
||||||
|
@ -199,6 +204,36 @@ function fix_pi_linker {
|
||||||
chmod +x ${1}/ld
|
chmod +x ${1}/ld
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cuda_cross_setup {
|
||||||
|
# $1 is local cuda toolkit version
|
||||||
|
# $2 the folder where cross cuda toolkit will be
|
||||||
|
loc_VER=${1-10.2}
|
||||||
|
loc_DIR=${2-/tmp}
|
||||||
|
CUDA_DIR=${CUDA_DIR-/usr/local/cuda-${loc_VER}}
|
||||||
|
CUDA_TARGET_STUBS=${loc_DIR}/target_stub${loc_VER}
|
||||||
|
CUDA_TARGET_STUB_URL=https://github.com/quickwritereader/temp_jars/releases/download/1.2/aarch64_linux_cuda_${loc_VER}_cudnn8.tar.gz
|
||||||
|
download_extract ${CUDA_TARGET_STUB_URL} ${CUDA_TARGET_STUBS}
|
||||||
|
message "lets setup cuda toolkit by combining local cuda-${loc_VER} and target ${CUDA_TARGET_STUBS}"
|
||||||
|
message "cuda cross folder: ${loc_DIR}"
|
||||||
|
check_requirements ${CUDA_DIR} ${CUDA_TARGET_STUBS}/aarch64-linux/
|
||||||
|
if [ ! -d ${loc_DIR}/cuda/bin ];then
|
||||||
|
mkdir -p ${loc_DIR}/cuda/bin
|
||||||
|
cd ${CUDA_DIR}/bin/
|
||||||
|
# we are obliged to symlink inner files and folders to avoid errors happening
|
||||||
|
# when relative folders are used from symlinks
|
||||||
|
for i in $(find . -maxdepth 1)
|
||||||
|
do
|
||||||
|
ln -s ${CUDA_DIR}/bin/${i} ${loc_DIR}/cuda/bin/${i}
|
||||||
|
done
|
||||||
|
cd -
|
||||||
|
ln -s ${CUDA_DIR}/nvvm ${loc_DIR}/cuda/nvvm
|
||||||
|
ln -s ${CUDA_TARGET_STUBS} ${loc_DIR}/cuda/targets
|
||||||
|
fi
|
||||||
|
export CUDACXX=${loc_DIR}/cuda/bin/nvcc
|
||||||
|
export CUDNN_ROOT_DIR=${CUDA_TARGET_STUBS}/aarch64-linux
|
||||||
|
export CUDA_TOOLKIT_ROOT=${loc_DIR}/cuda
|
||||||
|
}
|
||||||
|
|
||||||
if [ ! -d ${CROSS_COMPILER_DIR}/folder ]; then
|
if [ ! -d ${CROSS_COMPILER_DIR}/folder ]; then
|
||||||
#out file
|
#out file
|
||||||
message "download CROSS_COMPILER"
|
message "download CROSS_COMPILER"
|
||||||
|
@ -265,6 +300,15 @@ export OPENBLAS_PATH=${THIRD_PARTY}
|
||||||
|
|
||||||
fi # end if [ -z "${BUILD_USING_MAVEN}"];then
|
fi # end if [ -z "${BUILD_USING_MAVEN}"];then
|
||||||
|
|
||||||
|
|
||||||
|
XTRA_ARGS=""
|
||||||
|
XTRA_MVN_ARGS=""
|
||||||
|
|
||||||
|
if [ "${ARMCOMPUTE_TARGET}" != "None" ];then
|
||||||
|
message "~~~ARMCOMPUTE~~~"
|
||||||
|
XTRA_ARGS=" -h armcompute "
|
||||||
|
XTRA_MVN_ARGS=" -Dlibnd4j.helper=armcompute "
|
||||||
|
|
||||||
if [ ! -d ${SCONS_LOCAL_DIR} ]; then
|
if [ ! -d ${SCONS_LOCAL_DIR} ]; then
|
||||||
#out file
|
#out file
|
||||||
message "download Scons local"
|
message "download Scons local"
|
||||||
|
@ -290,9 +334,23 @@ check_requirements "${ARMCOMPUTE_DIR}/build/libarm_compute-static.a" "${ARMCOMPU
|
||||||
|
|
||||||
export ARMCOMPUTE_ROOT="${ARMCOMPUTE_DIR}"
|
export ARMCOMPUTE_ROOT="${ARMCOMPUTE_DIR}"
|
||||||
|
|
||||||
|
fi #if armcompute
|
||||||
|
|
||||||
|
|
||||||
if [ "${TARGET_OS}" = "android" ];then
|
if [ "${TARGET_OS}" = "android" ];then
|
||||||
export ANDROID_NDK=${CROSS_COMPILER_DIR}
|
export ANDROID_NDK=${CROSS_COMPILER_DIR}
|
||||||
|
XTRA_MVN_ARGS="${XTRA_MVN_ARGS} -pl \":libnd4j,:nd4j-native\" "
|
||||||
else
|
else
|
||||||
|
if [ "${CURRENT_TARGET}" == "jetson_arm64" ];then
|
||||||
|
message "jetson cuda build "
|
||||||
|
cuda_cross_setup ${CUDA_VER}
|
||||||
|
XTRA_ARGS="${XTRA_ARGS} -c cuda -h cudnn "
|
||||||
|
XTRA_MVN_ARGS="${XTRA_MVN_ARGS} -Djavacpp.version=1.5.3 -Dcuda.version=${CUDA_VER} -Dlibnd4j.cuda=${CUDA_VER} -Dlibnd4j.chip=cuda -Dlibnd4j.compute=5.3 "
|
||||||
|
XTRA_MVN_ARGS="${XTRA_MVN_ARGS} -Dlibnd4j.helper=cudnn "
|
||||||
|
export SYSROOT=${CROSS_COMPILER_DIR}/${PREFIX}/libc
|
||||||
|
else
|
||||||
|
XTRA_MVN_ARGS="${XTRA_MVN_ARGS} -pl \":libnd4j,:nd4j-native\" "
|
||||||
|
fi
|
||||||
export RPI_BIN=${CROSS_COMPILER_DIR}/bin/${PREFIX}
|
export RPI_BIN=${CROSS_COMPILER_DIR}/bin/${PREFIX}
|
||||||
export JAVA_LIBRARY_PATH=${CROSS_COMPILER_DIR}/${PREFIX}/lib
|
export JAVA_LIBRARY_PATH=${CROSS_COMPILER_DIR}/${PREFIX}/lib
|
||||||
fix_pi_linker ${BINUTILS_BIN}
|
fix_pi_linker ${BINUTILS_BIN}
|
||||||
|
@ -310,23 +368,17 @@ fi
|
||||||
|
|
||||||
if [ -z "${BUILD_USING_MAVEN}" ] ;then
|
if [ -z "${BUILD_USING_MAVEN}" ] ;then
|
||||||
message "lets build just library"
|
message "lets build just library"
|
||||||
DHELPER=" -h armcompute "
|
bash ./buildnativeoperations.sh -o ${LIBND4J_PLATFORM} -t -j $(nproc) ${XTRA_ARGS}
|
||||||
bash ./buildnativeoperations.sh -o ${LIBND4J_PLATFORM} -t ${DHELPER} -j $(nproc)
|
|
||||||
else
|
else
|
||||||
message "cd $BASE_DIR/.. "
|
message "cd $BASE_DIR/.. "
|
||||||
cd $BASE_DIR/..
|
cd $BASE_DIR/..
|
||||||
message "lets build jars"
|
message "lets build jars"
|
||||||
export DHELPER=" -Dlibnd4j.helper=armcompute "
|
if [ "${DEPLOY-}" != "" ]; then
|
||||||
|
message "Deploying to maven"
|
||||||
if [ "${DEPLOY}" ]; then
|
mvn -P"${PUBLISH_TO}" deploy --batch-mode -Dlibnd4j.platform=${LIBND4J_PLATFORM} -Djavacpp.platform=${LIBND4J_PLATFORM} ${XTRA_MVN_ARGS} -DprotocCommand=protoc -Djavacpp.platform.compiler=${COMPILER_PREFIX}-${CC_EXE} -Djava.library.path=${JAVA_LIBRARY_PATH} --also-make -DskipTests -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
|
||||||
echo "Deploying to maven"
|
else
|
||||||
if [ -z "$PUBLISH_TO" ]; then
|
message "Installing to local repo"
|
||||||
PUBLISH_TO="ossrh"
|
mvn install -Dlibnd4j.platform=${LIBND4J_PLATFORM} -Djavacpp.platform=${LIBND4J_PLATFORM} ${XTRA_MVN_ARGS} -DprotocCommand=protoc -Djavacpp.platform.compiler=${COMPILER_PREFIX}-${CC_EXE} -Djava.library.path=${JAVA_LIBRARY_PATH} --also-make -DskipTests -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
|
||||||
fi
|
|
||||||
mvn -P"${PUBLISH_TO}" deploy --batch-mode -Dlibnd4j.platform=${LIBND4J_PLATFORM} -Djavacpp.platform=${LIBND4J_PLATFORM} -DprotocCommand=protoc -Djavacpp.platform.compiler=${COMPILER_PREFIX}-${CC_EXE} -Djava.library.path=${JAVA_LIBRARY_PATH} ${DHELPER} -pl ":libnd4j,:nd4j-native" --also-make -DskipTests -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
|
|
||||||
else
|
|
||||||
echo "Installing to local repo"
|
|
||||||
mvn install -Dlibnd4j.platform=${LIBND4J_PLATFORM} -Djavacpp.platform=${LIBND4J_PLATFORM} -DprotocCommand=protoc -Djavacpp.platform.compiler=${COMPILER_PREFIX}-${CC_EXE} -Djava.library.path=${JAVA_LIBRARY_PATH} ${DHELPER} -pl ":libnd4j" --also-make -DskipTests -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue