From subsecret
BWA Benchmark (SBC)
Using BWA from https://github.com/smikkelsendk/bwa-for-arm/tree/master/bin (with NEON)
Dataset:
- Retrieve https://files.subsecret.dk/benchmark/GCF_000005845.2_ASM584v2_genomic.fna.gz
- Retrieve (normal size benchmark) https://files.subsecret.dk/benchmark/ecolireads.fastq.gz
- Run ./bwa index GCF_000005845.2_ASM584v2_genomic.fna.gz
- 1 thread benchmark
- ./bwa aln GCF_000005845.2_ASM584v2_genomic.fna.gz ecolireads.fastq.gz > /dev/null
- 4 threads benchmark
- ./bwa aln -t4 GCF_000005845.2_ASM584v2_genomic.fna.gz ecolireads.fastq.gz > /dev/null
Run on Android:
- Enable USB Debugging on device (https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/enabling_usb_debugging_on_an_android_device.html)
- On your PC: Download Android Platform tools: https://developer.android.com/studio/releases/platform-tools
- run (from your PC)
adb push BWA-EXECUTABLE /data/local/tmp adb push GCF_000005845.2_ASM584v2_genomic.fna.gz /data/local/tmp adb push ecolireads.fastq.gz /data/local/tmp
- then run
adb shell
You can now set bwa as executable (chmod a+x BWA-EXECUTABLE) and generate index and run bwa from directory /data/local/tmp
Results (32 bit)
Device | Kernel | OS | 1 thread walltime (sec.) | 4 threads walltime (sec.) | MAX threads walltime (sec.) |
---|---|---|---|---|---|
ODROID-C2 | 3.16.70-42 | Ubuntu 18.04.3 LTS | 748 | 211 | 211 |
ODROID-N2 | 4.9.185-44 | Ubuntu 18.04.3 LTS | 435 | 120 | 97 |
RPI-3 | 4.19.58-v7+ | Raspbian (Buster) | 852 | 249 | 249 |
RPI-4 | 4.19.58-v7l+ | Raspbian (Buster) | 459 | 130 | 130 |
a1.4xlarge (16 cores) | 5.0.0-1016-aws | Ubuntu 19.04 | 289 | 75 | 25 |
PC (i7-8700k@4.7GHz) | 5.2.15-200 | Fedora 30 | 100 | 27 | 16 |
vkworld F1 (ARMv7 Processor rev 3 (v7l)) | 3.10.72 | Android 5.1 | 1233 | 348 | 348 |
Linksys WRT3200ACM | 4.14.131 | OpenWrt 18.06.4 | 109 | 57 | 57 |
Synology ds416j | 3.10.105 | Synology | 147 | 77 | 77 |
PC eee1011px Atom N570 1.66GHz | 4.4.153-perf+ | Debian 7.8 | 913 | 369 | 369 |
Results (64 bit)
Device | Kernel | OS | 1 thread walltime (sec.) | 4 threads walltime (sec.) | MAX threads walltime (sec.) |
---|---|---|---|---|---|
ODROID-C2 (Amlogic S905) | 3.16.70-42 | Ubuntu 18.04.3 LTS | 607 | 178 | 178 |
ODROID-N2 (Amlogic 922x) | 4.9.185-44 | Ubuntu 18.04.3 LTS | 344 | 98 | 88 |
Mi 9T Pro (Snapdragon 855) | 4.14.83 | Android 9 | 165 | 46 | 34 |
LG G5 (Snapdragon 820) | 3.18.71 | Android 8 | 348 | 126 | 126 |
a1.4xlarge (16 cores) | 5.0.0-1016-aws | Ubuntu 19.04 | 212 | 56 | 21 |
PC (i7-8700k@4.7GHz) | 5.2.15-200 | Fedora 30 | 65 | 18 | 11 |
RPI-4 | 5.3.0-1008 | Ubuntu 19.10 | 350 | 105 | 105 |
Xiaomi Redmi Note 6 Pro | 4.4.153-perf+ | Android 9 | 414 | 101 | 71 |