apache / mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
https://mxnet.apache.org
Apache License 2.0
20.79k stars 6.79k forks source link

ARMv8 OpenBLAS build broken #10837

Open marcoabreu opened 6 years ago

marcoabreu commented 6 years ago

http://jenkins.mxnet-ci-dev.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/ci-master/392/pipeline/67/

Note: This is the test environment.

In order to reproduce locally, just run docker build -f docker/Dockerfile.build.jetson --build-arg USER_ID=1001 -t mxnet/build.jetson docker.

Step 8/19 : ADD https://api.github.com/repos/xianyi/OpenBLAS/git/refs/tags/v0.2.20 openblas_version.json

 ---> 4caf54930c46
Step 9/19 : RUN git clone --recursive -b v0.2.20 https://github.com/xianyi/OpenBLAS.git &&     cd OpenBLAS &&     make -j$(nproc) &&     PREFIX=${CROSS_ROOT} make install
 ---> Running in 801cd89a10b6
Cloning into 'OpenBLAS'...
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/work/OpenBLAS/interface'
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=saxpy -DASMFNAME=saxpy_ -DNAME=saxpy_ -DCNAME=saxpy -DCHAR_NAME=\"saxpy_\" -DCHAR_CNAME=\"saxpy\" -DNO_AFFINITY -I.. -I. -UDOUBLE  -UCOMPLEX -c axpy.c -o saxpy.o
...
make[2]: Leaving directory '/work/OpenBLAS/lapack/trti2'
make[2]: Entering directory '/work/OpenBLAS/lapack/trtri'
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_UU_single -DASMFNAME=strtri_UU_single_ -DNAME=strtri_UU_single_ -DCNAME=strtri_UU_single -DCHAR_NAME=\"strtri_UU_single_\" -DCHAR_CNAME=\"strtri_UU_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -DUNIT trtri_U_single.c -o strtri_UU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_UN_single -DASMFNAME=strtri_UN_single_ -DNAME=strtri_UN_single_ -DCNAME=strtri_UN_single -DCHAR_NAME=\"strtri_UN_single_\" -DCHAR_CNAME=\"strtri_UN_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -UUNIT trtri_U_single.c -o strtri_UN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_LU_single -DASMFNAME=strtri_LU_single_ -DNAME=strtri_LU_single_ -DCNAME=strtri_LU_single -DCHAR_NAME=\"strtri_LU_single_\" -DCHAR_CNAME=\"strtri_LU_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -DUNIT trtri_L_single.c -o strtri_LU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_LN_single -DASMFNAME=strtri_LN_single_ -DNAME=strtri_LN_single_ -DCNAME=strtri_LN_single -DCHAR_NAME=\"strtri_LN_single_\" -DCHAR_CNAME=\"strtri_LN_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -UUNIT trtri_L_single.c -o strtri_LN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_UU_parallel -DASMFNAME=strtri_UU_parallel_ -DNAME=strtri_UU_parallel_ -DCNAME=strtri_UU_parallel -DCHAR_NAME=\"strtri_UU_parallel_\" -DCHAR_CNAME=\"strtri_UU_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -DUNIT trtri_U_parallel.c -o strtri_UU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_UN_parallel -DASMFNAME=strtri_UN_parallel_ -DNAME=strtri_UN_parallel_ -DCNAME=strtri_UN_parallel -DCHAR_NAME=\"strtri_UN_parallel_\" -DCHAR_CNAME=\"strtri_UN_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -UUNIT trtri_U_parallel.c -o strtri_UN_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_LU_parallel -DASMFNAME=strtri_LU_parallel_ -DNAME=strtri_LU_parallel_ -DCNAME=strtri_LU_parallel -DCHAR_NAME=\"strtri_LU_parallel_\" -DCHAR_CNAME=\"strtri_LU_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -DUNIT trtri_L_parallel.c -o strtri_LU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=strtri_LN_parallel -DASMFNAME=strtri_LN_parallel_ -DNAME=strtri_LN_parallel_ -DCNAME=strtri_LN_parallel -DCHAR_NAME=\"strtri_LN_parallel_\" -DCHAR_CNAME=\"strtri_LN_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE -UUNIT trtri_L_parallel.c -o strtri_LN_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_UU_single -DASMFNAME=dtrtri_UU_single_ -DNAME=dtrtri_UU_single_ -DCNAME=dtrtri_UU_single -DCHAR_NAME=\"dtrtri_UU_single_\" -DCHAR_CNAME=\"dtrtri_UU_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -DUNIT trtri_U_single.c -o dtrtri_UU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_UN_single -DASMFNAME=dtrtri_UN_single_ -DNAME=dtrtri_UN_single_ -DCNAME=dtrtri_UN_single -DCHAR_NAME=\"dtrtri_UN_single_\" -DCHAR_CNAME=\"dtrtri_UN_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -UUNIT trtri_U_single.c -o dtrtri_UN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_LU_single -DASMFNAME=dtrtri_LU_single_ -DNAME=dtrtri_LU_single_ -DCNAME=dtrtri_LU_single -DCHAR_NAME=\"dtrtri_LU_single_\" -DCHAR_CNAME=\"dtrtri_LU_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -DUNIT trtri_L_single.c -o dtrtri_LU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_LN_single -DASMFNAME=dtrtri_LN_single_ -DNAME=dtrtri_LN_single_ -DCNAME=dtrtri_LN_single -DCHAR_NAME=\"dtrtri_LN_single_\" -DCHAR_CNAME=\"dtrtri_LN_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -UUNIT trtri_L_single.c -o dtrtri_LN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_UU_parallel -DASMFNAME=dtrtri_UU_parallel_ -DNAME=dtrtri_UU_parallel_ -DCNAME=dtrtri_UU_parallel -DCHAR_NAME=\"dtrtri_UU_parallel_\" -DCHAR_CNAME=\"dtrtri_UU_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -DUNIT trtri_U_parallel.c -o dtrtri_UU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_UN_parallel -DASMFNAME=dtrtri_UN_parallel_ -DNAME=dtrtri_UN_parallel_ -DCNAME=dtrtri_UN_parallel -DCHAR_NAME=\"dtrtri_UN_parallel_\" -DCHAR_CNAME=\"dtrtri_UN_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -UUNIT trtri_U_parallel.c -o dtrtri_UN_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_LU_parallel -DASMFNAME=dtrtri_LU_parallel_ -DNAME=dtrtri_LU_parallel_ -DCNAME=dtrtri_LU_parallel -DCHAR_NAME=\"dtrtri_LU_parallel_\" -DCHAR_CNAME=\"dtrtri_LU_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -DUNIT trtri_L_parallel.c -o dtrtri_LU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=dtrtri_LN_parallel -DASMFNAME=dtrtri_LN_parallel_ -DNAME=dtrtri_LN_parallel_ -DCNAME=dtrtri_LN_parallel -DCHAR_NAME=\"dtrtri_LN_parallel_\" -DCHAR_CNAME=\"dtrtri_LN_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -UCOMPLEX -UCOMPLEX -DDOUBLE -UUNIT trtri_L_parallel.c -o dtrtri_LN_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_UU_single -DASMFNAME=ctrtri_UU_single_ -DNAME=ctrtri_UU_single_ -DCNAME=ctrtri_UU_single -DCHAR_NAME=\"ctrtri_UU_single_\" -DCHAR_CNAME=\"ctrtri_UU_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -DUNIT trtri_U_single.c -o ctrtri_UU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_UN_single -DASMFNAME=ctrtri_UN_single_ -DNAME=ctrtri_UN_single_ -DCNAME=ctrtri_UN_single -DCHAR_NAME=\"ctrtri_UN_single_\" -DCHAR_CNAME=\"ctrtri_UN_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -UUNIT trtri_U_single.c -o ctrtri_UN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_LU_single -DASMFNAME=ctrtri_LU_single_ -DNAME=ctrtri_LU_single_ -DCNAME=ctrtri_LU_single -DCHAR_NAME=\"ctrtri_LU_single_\" -DCHAR_CNAME=\"ctrtri_LU_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -DUNIT trtri_L_single.c -o ctrtri_LU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_LN_single -DASMFNAME=ctrtri_LN_single_ -DNAME=ctrtri_LN_single_ -DCNAME=ctrtri_LN_single -DCHAR_NAME=\"ctrtri_LN_single_\" -DCHAR_CNAME=\"ctrtri_LN_single\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -UUNIT trtri_L_single.c -o ctrtri_LN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_UU_parallel -DASMFNAME=ctrtri_UU_parallel_ -DNAME=ctrtri_UU_parallel_ -DCNAME=ctrtri_UU_parallel -DCHAR_NAME=\"ctrtri_UU_parallel_\" -DCHAR_CNAME=\"ctrtri_UU_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -DUNIT trtri_U_parallel.c -o ctrtri_UU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_UN_parallel -DASMFNAME=ctrtri_UN_parallel_ -DNAME=ctrtri_UN_parallel_ -DCNAME=ctrtri_UN_parallel -DCHAR_NAME=\"ctrtri_UN_parallel_\" -DCHAR_CNAME=\"ctrtri_UN_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -UUNIT trtri_U_parallel.c -o ctrtri_UN_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_LU_parallel -DASMFNAME=ctrtri_LU_parallel_ -DNAME=ctrtri_LU_parallel_ -DCNAME=ctrtri_LU_parallel -DCHAR_NAME=\"ctrtri_LU_parallel_\" -DCHAR_CNAME=\"ctrtri_LU_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -DUNIT trtri_L_parallel.c -o ctrtri_LU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ctrtri_LN_parallel -DASMFNAME=ctrtri_LN_parallel_ -DNAME=ctrtri_LN_parallel_ -DCNAME=ctrtri_LN_parallel -DCHAR_NAME=\"ctrtri_LN_parallel_\" -DCHAR_CNAME=\"ctrtri_LN_parallel\" -DNO_AFFINITY -I../.. -UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE -UUNIT trtri_L_parallel.c -o ctrtri_LN_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_UU_single -DASMFNAME=ztrtri_UU_single_ -DNAME=ztrtri_UU_single_ -DCNAME=ztrtri_UU_single -DCHAR_NAME=\"ztrtri_UU_single_\" -DCHAR_CNAME=\"ztrtri_UU_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -DUNIT trtri_U_single.c -o ztrtri_UU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_UN_single -DASMFNAME=ztrtri_UN_single_ -DNAME=ztrtri_UN_single_ -DCNAME=ztrtri_UN_single -DCHAR_NAME=\"ztrtri_UN_single_\" -DCHAR_CNAME=\"ztrtri_UN_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -UUNIT trtri_U_single.c -o ztrtri_UN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_LU_single -DASMFNAME=ztrtri_LU_single_ -DNAME=ztrtri_LU_single_ -DCNAME=ztrtri_LU_single -DCHAR_NAME=\"ztrtri_LU_single_\" -DCHAR_CNAME=\"ztrtri_LU_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -DUNIT trtri_L_single.c -o ztrtri_LU_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_LN_single -DASMFNAME=ztrtri_LN_single_ -DNAME=ztrtri_LN_single_ -DCNAME=ztrtri_LN_single -DCHAR_NAME=\"ztrtri_LN_single_\" -DCHAR_CNAME=\"ztrtri_LN_single\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -UUNIT trtri_L_single.c -o ztrtri_LN_single.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_UU_parallel -DASMFNAME=ztrtri_UU_parallel_ -DNAME=ztrtri_UU_parallel_ -DCNAME=ztrtri_UU_parallel -DCHAR_NAME=\"ztrtri_UU_parallel_\" -DCHAR_CNAME=\"ztrtri_UU_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -DUNIT trtri_U_parallel.c -o ztrtri_UU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_UN_parallel -DASMFNAME=ztrtri_UN_parallel_ -DNAME=ztrtri_UN_parallel_ -DCNAME=ztrtri_UN_parallel -DCHAR_NAME=\"ztrtri_UN_parallel_\" -DCHAR_CNAME=\"ztrtri_UN_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -UUNIT trtri_U_parallel.c -o ztrtri_UN_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_LU_parallel -DASMFNAME=ztrtri_LU_parallel_ -DNAME=ztrtri_LU_parallel_ -DCNAME=ztrtri_LU_parallel -DCHAR_NAME=\"ztrtri_LU_parallel_\" -DCHAR_CNAME=\"ztrtri_LU_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -DUNIT trtri_L_parallel.c -o ztrtri_LU_parallel.o
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=ztrtri_LN_parallel -DASMFNAME=ztrtri_LN_parallel_ -DNAME=ztrtri_LN_parallel_ -DCNAME=ztrtri_LN_parallel -DCHAR_NAME=\"ztrtri_LN_parallel_\" -DCHAR_CNAME=\"ztrtri_LN_parallel\" -DNO_AFFINITY -I../.. -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE -UUNIT trtri_L_parallel.c -o ztrtri_LN_parallel.o
trtri_U_parallel.c: In function 'strtri_UU_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'strtri_LU_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_U_parallel.c: In function 'ctrtri_UN_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'strtri_LN_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_U_parallel.c: In function 'dtrtri_UU_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_U_parallel.c: In function 'ctrtri_UU_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_U_parallel.c: In function 'strtri_UN_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_U_parallel.c: In function 'ztrtri_UU_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_U_parallel.c: In function 'dtrtri_UN_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'ctrtri_LN_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'dtrtri_LN_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_U_parallel.c: In function 'ztrtri_UN_parallel':
trtri_U_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'ztrtri_LU_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'ztrtri_LN_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'dtrtri_LU_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
trtri_L_parallel.c: In function 'ctrtri_LU_parallel':
trtri_L_parallel.c:57:17: warning: variable 'range_N' set but not used [-Wunused-but-set-variable]
   BLASLONG lda, range_N[2];
                 ^
/opt/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-ar  -ru ../../libopenblas_armv8p-r0.2.20.a strtri_UU_single.o strtri_UN_single.o strtri_LU_single.o strtri_LN_single.o strtri_UU_parallel.o strtri_UN_parallel.o strtri_LU_parallel.o strtri_LN_parallel.o dtrtri_UU_single.o dtrtri_UN_single.o dtrtri_LU_single.o dtrtri_LN_single.o dtrtri_UU_parallel.o dtrtri_UN_parallel.o dtrtri_LU_parallel.o dtrtri_LN_parallel.o ctrtri_UU_single.o ctrtri_UN_single.o ctrtri_LU_single.o ctrtri_LN_single.o ctrtri_UU_parallel.o ctrtri_UN_parallel.o ctrtri_LU_parallel.o ctrtri_LN_parallel.o ztrtri_UU_single.o ztrtri_UN_single.o ztrtri_LU_single.o ztrtri_LN_single.o ztrtri_UU_parallel.o ztrtri_UN_parallel.o ztrtri_LU_parallel.o ztrtri_LN_parallel.o
make[2]: Leaving directory '/work/OpenBLAS/lapack/trtri'
make[1]: Leaving directory '/work/OpenBLAS/lapack'
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/work/OpenBLAS/lapack-netlib'
( cd INSTALL; make )
make[2]: Entering directory '/work/OpenBLAS/lapack-netlib/INSTALL'
/usr/bin/aarch64-unknown-linux-gnueabi-gfortran -O2 -Wall -fPIC -march=armv8-a -c -o lsame.o lsame.f
make[2]: /usr/bin/aarch64-unknown-linux-gnueabi-gfortran: Command not found
/usr/bin/aarch64-unknown-linux-gnueabi-gfortran -O2 -Wall -fPIC -march=armv8-a -c -o lsametst.o lsametst.f
Makefile:32: recipe for target 'lsame.o' failed
make[2]: *** [lsame.o] Error 127
make[2]: /usr/bin/aarch64-unknown-linux-gnueabi-gfortran: Command not found
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [lsametst.o] Error 127
Makefile:32: recipe for target 'lsametst.o' failed
make[2]: Leaving directory '/work/OpenBLAS/lapack-netlib/INSTALL'
Makefile:17: recipe for target 'lapack_install' failed
make[1]: *** [lapack_install] Error 2
make[1]: Leaving directory '/work/OpenBLAS/lapack-netlib'
Makefile:215: recipe for target 'netlib' failed
make: *** [netlib] Error 2
The command '/bin/sh -c git clone --recursive -b v0.2.20 https://github.com/xianyi/OpenBLAS.git &&     cd OpenBLAS &&     make -j$(nproc) &&     PREFIX=${CROSS_ROOT} make install' returned a non-zero code: 2
into container: False
Traceback (most recent call last):
  File "ci/build.py", line 263, in <module>
    sys.exit(main())
  File "ci/build.py", line 197, in main
    build_docker(platform, docker_binary)
  File "ci/build.py", line 73, in build_docker
    check_call(cmd)
  File "/usr/lib/python3.5/subprocess.py", line 581, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'build', '-f', 'docker/Dockerfile.build.jetson', '--build-arg', 'USER_ID=1001', '-t', 'mxnet/build.jetson', 'docker']' returned non-zero exit status 2
script returned exit code 1
marcoabreu commented 6 years ago

@KellenSunderland @larroy @lebeg

marcoabreu commented 6 years ago

For reference, a working build with exactly the same Dockerfile: http://jenkins.mxnet-ci-dev.amazon-ml.com/blue/rest/organizations/jenkins/pipelines/incubator-mxnet/branches/ci-master/runs/306/nodes/67/steps/447/log/?start=0

Step 8/19 : ADD https://api.github.com/repos/xianyi/OpenBLAS/git/refs/tags/v0.2.20 openblas_version.json

 ---> 96b952173698
Step 9/19 : RUN git clone --recursive -b v0.2.20 https://github.com/xianyi/OpenBLAS.git &&     cd OpenBLAS &&     make -j$(nproc) &&     PREFIX=${CROSS_ROOT} make install
 ---> Running in d963aa7a538a
Cloning into 'OpenBLAS'...
Note: checking out '5dde4e65d321076582a2fafe16949d2160551e81'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/work/OpenBLAS/interface'
/usr/bin/aarch64-linux-gnu-gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=72 -march=armv8-a -DASMNAME=saxpy -DASMFNAME=saxpy_ -DNAME=saxpy_ -DCNAME=saxpy -DCHAR_NAME=\"saxpy_\" -DCHAR_CNAME=\"saxpy\" -DNO_AFFINITY -I.. -I. -UDOUBLE  -UCOMPLEX -c axpy.c -o saxpy.o

Most noticeable here is the 'unknown-linux' part: aarch64-unknown-linux-gnueabi <-> aarch64-linux-gnu-gcc

marcoabreu commented 6 years ago

Seems to be related to https://github.com/dockcross/dockcross/commit/f5c87215fc52e7f72c88842c8486d0be6ba8161b#diff-6e12c3f1624f19bdd1a4370b48ce9292L28

marcoabreu commented 6 years ago

Problem seems to be the missing gfortran compiler which we're setting manually in our Dockerfile. This has to be updated to match whatever is present inside the new Dockerfile.

marcoabreu commented 6 years ago

Unfortunately, the project does not maintain any tags for their Dockerfiles, so there's no way around fixing the problem instead of pinning the version. https://microbadger.com/images/dockcross/linux-arm64

ThomasDelteil commented 6 years ago

Hey @marcoabreu, how do we currently track the failed builds on the test environment? Do we have nightly runs that build with --no-cache and catch these issues?

marcoabreu commented 6 years ago

We don't track failures on the test environment since it's just for testing of new features for CI. The fact that this gave some useful information was just an unintended side-effect.

We don't have any nightly runs that work without cache. That would definitely be a good feature. I have added a feature request at https://github.com/apache/incubator-mxnet/issues/10839

anirudh2290 commented 6 years ago

I was able to reproduce the issue. The problem seems to be caused because of the missing fortran compiler whose installation step seems to be removed as part of dockcross PR. Do we need to build openblas with LAPACK support. The workaround to this issue can be to skip LAPACK support installation for now by removing the FC line from the Dockerfile ?

lebeg commented 6 years ago

We had the discussion whether anybody is using lapack on arm devices and the result was - yes, this is needed.

lebeg commented 6 years ago

The missing fortran compiler was added to dockcross.

larroy commented 6 years ago

Can you give more info on why lapack is needed in arm?

KellenSunderland commented 6 years ago

To enable efficient SVD, matrix decomposition, etc. Maybe more relevant for edge devices than gpus.

On Thu, Jul 5, 2018 at 6:19 PM Pedro Larroy notifications@github.com wrote:

Can you give more info on why lapack is needed in arm?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/apache/incubator-mxnet/issues/10837#issuecomment-402776871, or mute the thread https://github.com/notifications/unsubscribe-auth/AHGTE8LkTKJ1g5JrZTZERGn9BFHI9O8Cks5uDjyTgaJpZM4T1evs .