[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT/LIBNNPACK PATCH 2/5] Add Makefile.uk
Hey Felipe, Thanks for the review. I'll use the latest commit[1] as a freeze point for the next version. [1] https://github.com/Maratyszcza/NNPACK/archive/24b55303f5cf65d75844714513a0d1b1409809bd.zip On 18.10.2019 09:50, Felipe Huici wrote: > Hi Vlad, > > Please find a few comments below. > > -- Felipe > > On 16.10.19, 14:49, "Vlad-Andrei BĂDOIU (78692)" > <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> wrote: > > Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> > --- > Makefile.uk | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 177 insertions(+) > create mode 100644 Makefile.uk > > diff --git a/Makefile.uk b/Makefile.uk > new file mode 100644 > index 0000000..14262fc > --- /dev/null > +++ b/Makefile.uk > @@ -0,0 +1,177 @@ > +# SPDX-License-Identifier: BSD-3-Clause > +# > +# benchmark Makefile.uk > > s/benchmark/nnpack > > +# > +# Authors: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> > +# > +# Copyright (c) 2019, University Politehnica of Bucharest. All rights > reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# > +# 1. Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# 2. Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in > the > +# documentation and/or other materials provided with the > distribution. > +# 3. Neither the name of the copyright holder nor the names of its > +# contributors may be used to endorse or promote products derived > from > +# this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > "AS IS" > +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED > TO, THE > +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR > CONTRIBUTORS BE > +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > BUSINESS > +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER > IN > +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR > OTHERWISE) > +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED > OF THE > +# POSSIBILITY OF SUCH DAMAGE. > +# > +# THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. > +# > + > > +################################################################################ > +# Library registration > > +################################################################################ > +$(eval $(call addlib_s,libnnpack,$(CONFIG_LIBNNPACK))) > + > > +################################################################################ > +# Sources > > +################################################################################ > +LIBNNPACK_VERSION=master > > +LIBNNPACK_URL=https://github.com/Maratyszcza/NNPACK/archive/$(LIBNNPACK_VERSION).zip > > Would it be possible to freeze the build against a specific commit? Using > master is likely to be brittle. > > +LIBNNPACK_PATCHDIR=$(LIBNNPACK_BASE)/patches > +$(eval $(call fetch,libnnpack,$(LIBNNPACK_URL))) > + > > +################################################################################ > +# Helpers > > +################################################################################ > +LIBNNPACK_SUBDIR=NNPACK-$(LIBNNPACK_VERSION) > +LIBNNPACK_SRC = $(LIBNNPACK_ORIGIN)/$(LIBNNPACK_SUBDIR) > + > > +################################################################################ > +# Library includes > > +################################################################################ > +LIBNNPACK_GLOBAL_INCLUDES-y += -I$(LIBNNPACK_SRC)/src > +LIBNNPACK_GLOBAL_INCLUDES-y += -I$(LIBNNPACK_SRC)/src/ref > +LIBNNPACK_GLOBAL_INCLUDES-y += -I$(LIBNNPACK_SRC)/include > +LIBNNPACK_GLOBAL_INCLUDES-y += -I$(LIBNNPACK_BASE)/include > + > +CINCLUDES-$(CONFIG_LIBNNPACK) += $(LIBNNPACK_GLOBAL_INCLUDES-y) > +CXXINCLUDES-$(CONFIG_LIBNNPACK) += $(LIBNNPACK_GLOBAL_INCLUDES-y) > + > > +################################################################################ > +# Global flags > > +################################################################################ > +# Suppress some warnings to make the build process look neater > +LIBNNPACK_SUPPRESS_FLAGS += -Wno-unused-parameter > \ > + -Wno-unused-variable -Wno-unused-value -Wno-unused-function > \ > + -Wno-missing-field-initializers -Wno-implicit-fallthrough > \ > + -Wno-cast-function-type -Wno-stringop-truncation > \ > + -Wno-char-subscripts -Wno-sign-compare -Wno-parentheses > \ > + -Wno-deprecated-declarations > > Could you please also add -Wno-attributes? There are quite a few warnings > related to that one. Sure. > > +LIBNNPACK_CFLAGS-y += $(LIBNNPACK_SUPPRESS_FLAGS) > -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast > +LIBNNPACK_CXXFLAGS-y += $(LIBNNPACK_SUPPRESS_FLAGS) > + > +LIBNNPACK_CFLAGS-y += -D__linux__ -DCPUINFO_ARCH_X86 > +LIBNNPACK_CXXFLAGS-y += -D__linux__ -DCPUINFO_ARCH_X86 > + > +LIBNNPACK_CFLAGS-$(CONFIG_LIBNNPACK_BACKEND_PSIMD) += > -DNNP_BACKEND_PSIMD > +LIBNNPACK_CXXFLAGS-$(CONFIG_LIBNNPACK_BACKEND_PSIMD) += > -DNNP_BACKEND_PSIMD > + > +LIBNNPACK_CFLAGS-$(CONFIG_LIBNNPACK_BACKEND_SCALAR) += > -DNNP_BACKEND_SCALAR > +LIBNNPACK_CXXFLAGS-$(CONFIG_LIBNNPACK_BACKEND_SCALAR) += > -DNNP_BACKEND_SCALAR > + > +#TODO : chose backend from config menu > > +################################################################################ > +# Library sources > > +################################################################################ > + > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/init.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/softmax-output.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/relu-input-gradient.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/fully-connected-inference.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/convolution-output.c > +#LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/neon/2d-winograd-8x8-3x3-fp16.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/winograd-f6k3.c > +#LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/neon/blas/c4gemm-conjb-transc.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/h4gemm.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/s4c2gemm.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/s4gemm.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/c4gemm.c > +#LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/neon/blas/s4c2gemm-conjb-transc.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/conv1x1.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/sgemm.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/c4gemm-conjb.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/sdotxf.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/blas/s4c2gemm-conjb.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/2d-winograd-8x8-3x3.c > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/neon/relu.c > > Why are all of these source files commented out? It might be good add a > comment as to why, in case anyone revisits this later. Right, they are for the ARM build. Neon is the SIMD ISA of ARM. > > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/convolution-inference.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/softmax-output.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/relu-input-gradient.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/convolution-output.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/max-pooling-output.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/convolution-kernel.c|ref > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/ref/fully-connected-output.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/relu-output.c|ref > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/ref/convolution-input-gradient.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/fft/aos.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/fft/inverse-dualreal.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/fft/forward-real.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/fft/soa.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/fft/forward-dualreal.c|ref > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/ref/fft/inverse-real.c|ref > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/x86_64-fma/softmax.c|fma > +#LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/x86_64-fma/exp.c|fma > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/softmax.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/2d-fourier-16x16.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/winograd-f6k3.c|psimd > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/psimd/blas/c4gemm-conjb-transc.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/s4c2gemm.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/s4gemm.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/c4gemm.c|psimd > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/psimd/blas/s4c2gemm-conjb-transc.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/conv1x1.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/sgemm.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/shdotxf.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/c4gemm-conjb.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/blas/sdotxf.c|psimd > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/psimd/blas/s4c2gemm-conjb.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/exp.c|psimd > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/psimd/2d-winograd-8x8-3x3.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/relu.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/fft-aos.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/fft-dualreal.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/fft-soa.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/fft-real.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/psimd/2d-fourier-8x8.c|psimd > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/fully-connected-output.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/relu-output.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/convolution-kernel-gradient.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/convolution-input-gradient.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/pooling-output.c > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/softmax.c|scalar > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/scalar/2d-fourier-16x16.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/winograd-f6k3.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/blas/s2gemm.c|scalar > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/scalar/blas/cgemm-conjb.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/blas/conv1x1.c|scalar > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/scalar/blas/cgemm-conjb-transc.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/blas/sgemm.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/blas/shdotxf.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/blas/sdotxf.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/blas/cgemm.c|scalar > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/scalar/blas/s2gemm-transc.c|scalar > +LIBNNPACK_SRCS-y += > $(LIBNNPACK_SRC)/src/scalar/2d-winograd-8x8-3x3.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/relu.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/fft-aos.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/fft-dualreal.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/fft-soa.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/fft-real.c|scalar > +LIBNNPACK_SRCS-y += $(LIBNNPACK_SRC)/src/scalar/2d-fourier-8x8.c|scalar > -- > 2.20.1 > > > _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |