Fall 2014 SPO600 Packages by Participant
This is the package list from http://performance.linaro.org, with packages already in the Fedora Aarch64 repositories removed, divided between the Fall 2014 SPO600 participants.
We're going to use this list for initial investigation, but the package(s) you work with may or may not be the ones you initially check out.
To do for October 7
- Do an initial check on each of the packages in your list. It may be that they are already available for aarch64 (maybe under a slightly-different name), that they don't exist in Fedora but do exist in other distros, that nobody cares about them anymore, or something else.
- Take a look at the notes on the Linaro Performance Challenge site for each package. This will give you a little bit of information about the porting/optimization required for each package.
- Briefly annotate each of the entries in your part of this page (i.e., mark them up with a brief note about what you've found). See my section for an example.
- Blog about your package list.
- This list is divided up by participant only for the purpose of investigation right now. We may redistribute this list as we start work on these packages.
- There may be packages that were removed because they exist in the Fedora Aarch64 repositories that should actually be included here, because they need optimization.
- Different distros and projects refer to architectures by different names:
- i386 == x86_32 == i586 == i686 (more or less!)
- x86_64 == amd64
- arm32 == aarch32 == armhf == armv7hl
- arm64 == aarch64
- To check to see if a package is available on a Fedora machine of a given architecture, use yum (e.g.,
yum list name-of-package) or
repoquery, or look up the package in the package database.
- pcre3 - Available on: Fedora ~ pcre, Ubuntu ~ libpcre3, Debian ~ libpcre3. Perl Compatible RegExp Lib. Seems to exist on aarch64 as pcre.aarch64 package.
- unrar-free - Not Available: Fedora, aarch64. Available: Ubuntu ~ unrar-free, Debian ~ unrar-free. Seems like chance to beat x86 performance asm with C and gcc!
- vflib3 - Not Available: Fedora, aarch64. Available: Ubuntu ~ vflib3, Debian ~ vflib3. Not priority at all but another interesting opportunity to beat x86 performance asm with C.
- php-apc - Exists on aarch64 as: php-pecl-apcu.aarch64. Cache module for PHP 5. Multiple different platform asm used for atomics. Available on: Fedora ~ php-pecl-apc, Ubuntu ~ php-apc, Debian ~ php-apc. gcc atomics opportunity!
- mysql-5.5 - Includes x86 performance asm for crypto and checksum. Seems like relevant performance improvement opportunity. Available on: Fedora ~ mysql, Ubuntu ~ mysql-server-5.5, Debian ~ mysql-server-5.5.
- fwts - Firmware test suite, marked on linaro list as being "already worked on".
- llvm-3.1 - Seems to exist on aarch64 as "llvm.aarch64" package. Exists on aarch64 as llvm.aarch64 in Fedora 21. Nothing mentioned in regards to performance.
- smlsharp - May have a source file that needs to be completely re-written in C. Also optional x86 performance asm for atomics and checksum performance, opportunity for C and gcc optimizations. Only exists in Ubuntu, not on aarch64.
- mpfr4 - Exists on aarch64 ~ "mpfr.aarch64". C Floating-point math lib, contains A32 asm code, but no aarch64 asm, for what reason the asm is included I am unsure right now(probably performance). Available on: Fedora ~ mpfr, Ubuntu ~ libmpfr4, Debian ~ libmpfr4. Could be great opportunity to learn gcc floating-point optimizations!
- gccxml - Doesn't seem difficult to port to aarch64. Not a high priority as not used a lot. Available on: Fedora, Ubuntu, and Debian ~ gccxml.
- puf - Low priority for porting. Contains trivial asm for bitops performance, opportunity for C and gcc optimizations. Not Available: Fedora.
- insserv - Boot sequence organizer. Doesn't seem like a priority to port.
- acpidump - included in Fedora aarch64 as part of 'acpica-tools' - may be slightly different version.
- glib2.0 - included in Fedora aarch64 under the name 'glib2'.
- newlib - intended for embedded systems. ARM32 version in Fedora as 'arm-none-eabi-newlib' (oddly, marked as 'noarch'?). Aarch64 version might be a fair bit of work.
- nana - not present in Fedora, present in repositories for Debian but not arm64/aarch64. Can probably get working easily except for timers.
- lam - not present in Fedora. Message Passing Interface (MPI) implementation - do we need this if we have OpenMPI?
- radare - reverse-engineering tools - very arch-specific. Not present in Fedora; present in Ubuntu/Debian but only for x86_32 and x86_64. Upstream website says that aarch64 is supported (?).
- libcrypt-cast5-perl - not present in Fedora; present in Ubuntu/Debian but only for x86_32/x86_64. The portable version is perl-Crypt-CAST5_PP, but probably lower performance.
- brutefir - audio library - not present in Fedora; present in Ubuntu/Debian for x86 and arm64. May be using C fallbacks.
- libgc - garbage collection library - not present in Fedora; present in Ubuntu/Debian for x86 and arm64. Wonder if the arm64 build works properly?
- boinc-app-seti - SETI client for BOINC framework. Not in Fedora, present in Ubuntu/Debian for x86 and arm64. Does anyone use this?
- nuitka - python compiler, Ubuntu/Debian has x86_32 build only. Not present in Fedora.
- sbsigntool - tool to sign and verify UEFI secure boot files. Ubuntu notes indicate that it's patched to sign arm64 images, but doesn't run on arm64. Not in Fedora.
- amtu - present on fedora, currently only available for x86; porting probably required. - abstract machine testing utility
- qemu-linaro - linaro present on fedora, coulnd't seem to find arm64 in Debian nor Ubuntu - processor emulator
- xen - present on fedora, arm64 seems to exist for Debian - virtualization
- gmerlin-encoders - not found on fedora, arm64 package exists for debian (jessie testing)
- ncpfs - present on fedora, arm32 exists for Debian; Netware-related utilities;
- snobol4 - could not find much on this.
- magics++ - not present in fedora, arm64 on debian (sid unstable) weather forecasting software
- radare2 - not present in fedora, arm64 on debian (sid unstable) ; free command line hex editor
- gambc - not prsent in fedora, only x86 found on debian; ubuntu ; c interpreter and compiler
- mono - not present in fedora, debian/ubuntu database doesn't list architectures on this package ; development tools
- frysk - present on fedora, Execution analysis and debugging tool-suite. arm64 needs work
Emmanuel Ho Fidelino
- Crypto lib, has asm for performance, all asm has a c alternative.
- Doesn't build for aarch64, but that is a matter of build scripts.
- LZMA compression lib, debian has an arm64 build
- asm in embedded copy of gettext;
- Debian has an arm64 build
- asm in MD5 code, has C alternative
- Debian has an arm64 build
- available as libdb
- asm in timer code for x86, has c fallback,
- asm for casting float/double to int, has c fallback
- Audio codec with with lots of arm32 code, no c fallback
- Foreign Function Call Libraries, lots of lowlevel inter-language plumbing like libffi, but not many rdeps; low priority
- Lots of asm code
- available as "samba"
- can be built for arm64 with some modifications listed here
- debian has arm64 build
- llvm-3.0 --- Looks to already be included under the name: llvm.aarch64
- exim4 --- Looks to already be included under the name: exim.aarch64
- italc --- Couldn't find an existing version
- kexec-tools --- Couldn't find an available version
- krb5 --- Doesn't look like there's one available, though there is this: (opensuse)
- gem --- Couldn't find existing version
- ruby-prof --- nada
- gnutls28 --- niente
- snort --- maybe, but just not in yum? (here)
- llvm-2.9 --- Potentially the same issue as llvm-3.0?
- xvidcore --- Looks like there's nothin'
- ruby1.8 --- Not explicitly 1.8 - but there is a ruby.aarch64 v 2.1.2
- blcr - Berkely Lab Checkpoint.Restart, not present in Fedora, present in repositories for Debian / Ubuntu in i386 and x86_64.
- grub2 - Grand Unified Bootloader, included in Fedora x86_64, but not in Fedora aarch64.
- php5 - Included in Fedora x86_64 and aarch64 under name php, present in repositories for Debian / Ubuntu in all architectures.
- libinnodb - Embedded InnoDB Library, not present in Fedora, present in repositories for Debian in i386 and x86_64, and for Ubuntu in i386, x86_64 and arm32.
- ocaml-sha - SHA cryptographic hash functions for OCaml (Objective Caml complier), not present in Fedora, source package present in Debian/Ubuntu.
- libhmsbeagle - High-performance lib for Bayesian and Maximum Likelihood phylogenetics, not not present in Fedora, present for Debian in i386, x86_64 and arm32, and for Ubuntu in i386 and x86_64.
- maude - High-performance logical framework, not present in Fedora, present for Debian in i386, x86_64 and arm32, and for Ubuntu in i386 and x86_64
- rtai - Real time application interface, not present in Fedora, present for Debian/Ubuntu in i386 and x86_64.
- kamailio - Very fast and configurable SIP proxy, not present in Fedora, present for Debian/Ubuntu in i386 and x86_64.
- gesftpserver - Sftp server submodule for OpenSSH, not present in Fedora, present for Debian in i386, x86_64 and arm32, and for Ubuntu in i386 and x86_64.
- bsign - Corruption & intrusion detection using embedded hashes, not present in Fedora, present for Debian/Ubuntu in i386 only.
- openjdk-6 - Java runtime base on OpenJDK, not present in Fedora, present for Debian in i386, x86_64 and arm32, and for Ubuntu in i386 and x86_64.