Hi Lijian, If I got it right, neither gcc or clang available in ubuntu 18.04 LTS are able to produce N1 optimised binaries. correct?
If yes, can we just add clang-10 from: https://apt.llvm.org to vpp build scripts? In particular: # 10 deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main Damjan > On 9 May 2020, at 12:12, Lijian Zhang <lijian.zh...@arm.com> wrote: > > Hi Damjan, > The patch[2] installs clang-9 in package dependencies and sets “clang-10 > clang-9 gcc-9 cc” as the default compiler. > > The problem is, > 1. clang-9 does not support ‘-mtune=qdf24xx’, ‘-mtune=neoverse-n1’, > ‘-mcpu=neoverse-n1’, so it cannot do arch-specific compiling and optimal > function selection for those two CPUs. > These options requires gcc-9.2, clang-10 and any newer versions. > 2. The clang package servers for Ubuntu-18.04 mentioned in > https://apt.llvm.org/ support x86, but does not support Arm64, so we cannot > install clang-10/clang-11 directly via apt commands on Arm servers. > > I’m thinking two options, > 1. remove clang-9 dependency in Makefile or add for x86_64 only, so that > users should install clang-10/clang-9 for x86 manually, and for Arm, install > gcc-9 and clang-10/clang-11(not available yet). Just like CSIT has to update > gcc version to gcc-8.3 manually(gcc-8.3 not listed in dependencies) > previously. > 2. there are other several workaround, > 2.1 install clang-10 from source code until we can do clang-10 > binary install on Ubuntu-18.04 on Arm; > 2.2 keep the code as it is now, although it will disable > multi-arch support for these two CPUs with clang-9; > 2.3 when we are developing code or doing benchmarking, we need > to hack the code temporarily from “set(CMAKE_C_COMPILER_NAMES clang-10 > clang-9 gcc-9 cc)” to “set(CMAKE_C_COMPILER_NAMES clang-10 gcc-9 cc)”, so > that multi-arch will be supported with gcc-9. > > Could you suggest on this issue? > Thanks. > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Damjan Marion > via lists.fd.io > Sent: 2020年4月28日 22:14 > To: vpp-dev <vpp-dev@lists.fd.io> > Subject: [vpp-dev] clang-9 > > > Folks, > > As there is bug in gnu assembler which is shipping with ubuntu 18.04 we are > not able to produce working binaries with avx512 instruction set. > Because of that, I had to change default to avx2. reported bug[1], but it is > ignored for a year. > > As alternative[2], I wanted to consider using clang-9 which is shipped with > ubuntu 18.04 and seems like it is even capable of producing faster binaries > than gcc. > Unfortunately, "make test" is failing at several places including vxlan, > ipsec and tcp stack[3]. > > May I ask folks who “own” that code to take a quick look? > > Thanks, > > Damjan > > [1] https://bugs.launchpad.net/ubuntu/cosmic/+source/binutils/+bug/1819961 > [2] https://gerrit.fd.io/r/c/vpp/+/26744 > [3] https://jenkins.fd.io/job/vpp-verify-master-ubuntu1804/3615/console > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#16314): https://lists.fd.io/g/vpp-dev/message/16314 Mute This Topic: https://lists.fd.io/mt/73327785/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-