Announcement

Collapse
No announcement yet.

GCC 5.2 Compiler Benchmarks With ARM Cortex-A57 A Mixed Bag

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GCC 5.2 Compiler Benchmarks With ARM Cortex-A57 A Mixed Bag

    Phoronix: GCC 5.2 Compiler Benchmarks With ARM Cortex-A57 A Mixed Bag

    Following Monday's NVIDIA Jetson TX1 performance overview one of the first follow-up tests I wanted to carry out was to see how the performance would evolve if using a newer compiler than what's shipped in Ubuntu 14.04. This current long-term support release ships GCC 4.8 while out since then was GCC 4.9 and now GCC 5.2.1 with GCC 6 coming in just a few months.

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Somehow, it seems there is regression in gcc 5.2 :\.

    Comment


    • #3
      It would be interesting to see the influence of neon optimizations in this context. I've installed gentoo on my Chromebook 13 (Tegra K1) and used CFLAGS+="-mfpu=neon-vfpv4" to compile glibc & co. I didn't dare to use -ffast-math systemwide, though.

      Comment


      • #4
        I'm curious why you always test just 32bit code? This is Cortex-A57 so you basically throw away 10-30% performance boost while still using old 32bit code and not switching to proper ARMv8. Is there any reason why you do not install any ARMv8 distro?

        Comment


        • #5
          Originally posted by kgardas View Post
          I'm curious why you always test just 32bit code? This is Cortex-A57 so you basically throw away 10-30% performance boost while still using old 32bit code and not switching to proper ARMv8. Is there any reason why you do not install any ARMv8 distro?
          I agree with that.
          According to GCC doc, the benchmark code should be compiled with options like this (i'm not an ARM expert, correct me if needed) :
          -march=armv8-a -mtune=cortex-a57.cortex-a53 -mcpu=cortex-a57.cortex-a53 -mfpu=neon-fp-armv8


          Comment


          • #6
            Originally posted by kgardas View Post
            I'm curious why you always test just 32bit code? This is Cortex-A57 so you basically throw away 10-30% performance boost while still using old 32bit code and not switching to proper ARMv8. Is there any reason why you do not install any ARMv8 distro?
            Related topic came up in NVIDIA forums for TX1. Response was "Today the sample filesystem included with JTX1 is Ubuntu 14.04 armhf (32-bit). It seems there was currently reduced distro support and userspace packages available for aarch64, so armhf userspace was provided at launch. As linuxdev mentions, there may be packages available in the repo to provide compatibility as Ubuntu brings them online. The kernel is still aarch64."

            I am surprised this isn't a little more prominent in Michael's reporting (or for that matter NVIDIA's). For example I looked through both "NVIDIA JTX1: Finally an Exciting 64-bit ARM Board!" as well as the "Everything You Need to Know About The NVIDIA Jetson TX1 Performance" articles and while there are several mentions of "64-bit ARM" in a compare/contrast with "32-bit ARM", e.g. cortex-A15 - neither article seems to mention that if you want to use this board to develop Aarch64 applications, you won't get there with the default configuration.

            Comment


            • #7
              Originally posted by austin754 View Post

              Related topic came up in NVIDIA forums for TX1. Response was "Today the sample filesystem included with JTX1 is Ubuntu 14.04 armhf (32-bit). It seems there was currently reduced distro support and userspace packages available for aarch64, so armhf userspace was provided at launch. As linuxdev mentions, there may be packages available in the repo to provide compatibility as Ubuntu brings them online. The kernel is still aarch64."
              I understand the GPU support packages might be mostly 32-bit at this stage, but when doing CPU benchmarking nothing is requiring armhf, given that the kernel is aarch64.

              Comment

              Working...
              X