Rationale

This is a document to collect feedback.observations on the various libraries LEG is seeking to port.optimize on arch64.

Stakeholder

LEG,and various other WG.

Specification

Description

Value

Links

Architecture

ARMv8

N/A

Hardware

Fast Model, Foundation Model

Evaluation underway to check the best model in terms of cycle stability

Root filesystem

OpenEmbedded, Ubuntu, other

N/A

Library:Observer


All Libraries:Riku

Observation:Everything but klibc on that last already works on Aarch64, but some might benefit from optimizations.


llvm:Renato

Observation:There is no support for older releases at all in LLVM and we'll still discussing if we're going to support the next release (3.4) the way GCC does or if this will only start in 3.5 or beyond.

Since there's no support for backporting to stable releases, there's no one willing to force newer releases onto distributions, but there is a package that is built off trunk on Debian every once and while. While this is not stable, it could help you know what optimizations have gone in there already and what haven't. One big thing that went in 3.3 and is a lot better in 3.4 is the auto-vectorizer, with many good results for NEON.


Apache:Set of Libraries which affect Apache performance and can warrant optimization Observation:

(1) libc-2.17.so (2)libapr-1.so.o.4.5


Chef:Set of Libraries which affect Chef performance and can warrant optimization.

Observation: (1)libruby-static.a

(2)libcurses++w.a

(3)libcrypto.a

(4)libcurl.a

(5)libcurl.so.4.2.0


List of libraries based on latest updated which needs porting or optimization(Feedback on 07/11/13): Riku

Observation:

Some stuff from the linaro-aarch64 bugtracker(porting):

- firefox (needed as build dependencies for other stuff) - nss (crypto library for fedora, only optimized for X86) - systemtap - sysprof - boost context - gperftools - valgrind

Some enterprisy things that could take porting/optimizing:

- firebird (DB) - postgres (needs optimized spinlocks) - squid - varnish - memcached

And then various programming languages :

- GHC (GHCi and Native code generator missing) - Ruby (ask Steve McIntyre, iirc there is still some issue) - erlang (native compiler missing) - clisp (probably easiest of the bunch) - golang - mono

LEG/Engineering/OPTIM/LibraryOpt (last modified 2013-11-13 11:38:32)