[メモ] らずぱい3: aarch64 openSUSEで、UnixBench

## 概要
- らずぱい３で、aarch64のUnixBenchも、とりたい
- openSUSEのRPi3向け配布イメージは、aarch64対応している

    ```shell-session:aarch64
# uname -a
Linux linux.suse 4.4.49-16-default #1 SMP Sun Feb 19 17:40:35 UTC 2017 (70e9954) aarch64 aarch64 aarch64 GNU/Linux
```

![RPi3_openSUSE.png](https://qiita-image-store.s3.amazonaws.com/0/75594/0609b910-6335-d970-eb89-b534b34de8ed.png)

## 環境
- Raspberry Pi 3
- openSUSE-Leap42.2-ARM-XFCE-raspberrypi3.aarch64.raw.xz<br>
[HCL:Raspberry_Pi3](https://en.opensuse.org/HCL:Raspberry_Pi3) ページから <br>> Installing the 64-bit openSUSE Leap image > XFCEイメージ選択
    - デフォルトログイン > ユーザ: **root** / パスワード: **linux** 
- UART:115200bpsで、接続するのが、簡単かも。

## 手順
1. いつものツールでmicroSDにやく。
2. 起動
3. sshでログイン<br>`/etc/sshd/sshd_config`をrootでログイン可能+パスワード使用可能、と編集して、`systemctl restart sshd`
4. パッケージ導入は、`zypper install ほにゃらら` で。


## BYTE UNIX Benchmarks (Version 5.1.3)
1. ここら辺をインストール<br>`zypper install make git-core gcc` 
2. Makefileを編集 (`-march=native -mtune=native`があるとエラー出る)

	```diff
	diff --git a/UnixBench/Makefile b/UnixBench/Makefile
	index d6868ba..1dd7e42 100644
	--- a/UnixBench/Makefile
	+++ b/UnixBench/Makefile
	@@ -87,7 +87,7 @@ OPTON = -O3 -ffast-math
	 OSNAME:=$(shell uname -s)

	 ifeq ($(OSNAME),Linux)
	-OPTON += -march=native -mtune=native
	+#OPTON += -march=native -mtune=native
	 endif
	 ifeq ($(OSNAME),Darwin)
	 # (adjust flags or comment out this section for older versions of XCode or OS X)
	```


### 結果: Benchmark of linux.suse / openSUSE 42.2 (aarch64) on Wed Mar 22 2017</h2>
<p><b>BYTE UNIX Benchmarks (Version 5.1.3)</b></p>

<h3>Test System Information</h3>
<p><table>
<tr>
   <td><b>System:</b></td>
   <td colspan=2>linux.suse: openSUSE 42.2 (aarch64)</td>
</tr><tr>
   <td><b>OS:</b></td>
   <td colspan=2>GNU/Linux -- 4.4.49-16-default -- #1 SMP Sun Feb 19 17:40:35 UTC 2017 (70e9954)</td>
</tr><tr>
   <td><b>Machine:</b></td>
   <td colspan=2>aarch64: aarch64</td>
</tr><tr>
   <td><b>Language:</b></td>
   <td colspan=2>en_US.utf8 (charmap="UTF-8", collate="UTF-8")</td>
</tr>
<tr>
   <td><b>Uptime:</b></td>
   <td colspan=2>20:08pm  up   0:07,  2 users,  load average: 1.12, 0.80, 0.42; runlevel 1970-01-01</td>
</tr>
</table></p>

<p><hr/></p>
<h3>Benchmark Run: 4 CPUs; 1 parallel process</h3>
<p>Time: 20:08:40 - 20:37:56; 29m 16s</p>

<h4>System Benchmarks</h4>
<p><table width="100%">
<tr>
   <th align=left>Test</th>
   <th align=right>Score</th>
   <th align=left>Unit</th>
   <th align=right>Time</th>
   <th align=right>Iters.</th>
   <th align=right>Baseline</th>
   <th align=right>Index</th>
</tr>
<tr>
   <td><b>Dhrystone 2 using register variables</b></td>
   <td align=right><tt>3379589.7</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>116700.0</tt></td>
   <td align=right><tt>289.6</tt></td>
</tr>
<tr>
   <td><b>Double-Precision Whetstone</b></td>
   <td align=right><tt>610.0</tt></td>
   <td align=left><tt>MWIPS</tt></td>
   <td align=right><tt>12.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>55.0</tt></td>
   <td align=right><tt>110.9</tt></td>
</tr>
<tr>
   <td><b>Execl Throughput</b></td>
   <td align=right><tt>1049.4</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>29.6 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>43.0</tt></td>
   <td align=right><tt>244.0</tt></td>
</tr>
<tr>
   <td><b>File Copy 1024 bufsize 2000 maxblocks</b></td>
   <td align=right><tt>109187.0</tt></td>
   <td align=left><tt>KBps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>3960.0</tt></td>
   <td align=right><tt>275.7</tt></td>
</tr>
<tr>
   <td><b>File Copy 256 bufsize 500 maxblocks</b></td>
   <td align=right><tt>39170.3</tt></td>
   <td align=left><tt>KBps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>1655.0</tt></td>
   <td align=right><tt>236.7</tt></td>
</tr>
<tr>
   <td><b>File Copy 4096 bufsize 8000 maxblocks</b></td>
   <td align=right><tt>270879.3</tt></td>
   <td align=left><tt>KBps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>5800.0</tt></td>
   <td align=right><tt>467.0</tt></td>
</tr>
<tr>
   <td><b>Pipe Throughput</b></td>
   <td align=right><tt>212769.9</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>12440.0</tt></td>
   <td align=right><tt>171.0</tt></td>
</tr>
<tr>
   <td><b>Pipe-based Context Switching</b></td>
   <td align=right><tt>57328.4</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>4000.0</tt></td>
   <td align=right><tt>143.3</tt></td>
</tr>
<tr>
   <td><b>Process Creation</b></td>
   <td align=right><tt>2708.7</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>126.0</tt></td>
   <td align=right><tt>215.0</tt></td>
</tr>
<tr>
   <td><b>Shell Scripts (1 concurrent)</b></td>
   <td align=right><tt>1438.3</tt></td>
   <td align=left><tt>lpm</tt></td>
   <td align=right><tt>60.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>42.4</tt></td>
   <td align=right><tt>339.2</tt></td>
</tr>
<tr>
   <td><b>Shell Scripts (8 concurrent)</b></td>
   <td align=right><tt>419.0</tt></td>
   <td align=left><tt>lpm</tt></td>
   <td align=right><tt>60.1 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>6.0</tt></td>
   <td align=right><tt>698.3</tt></td>
</tr>
<tr>
   <td><b>System Call Overhead</b></td>
   <td align=right><tt>247097.0</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>15000.0</tt></td>
   <td align=right><tt>164.7</tt></td>
</tr>
<tr>
   <td colspan=6><b>System Benchmarks Index Score:</b></td>
   <td align=right><b><tt>246.0</tt></b></td>
</tr>
</table></p>

<p><hr/></p>
<h3>Benchmark Run: 4 CPUs; 4 parallel processes</h3>
<p>Time: 20:37:56 - 21:06:55; 28m 59s</p>

<h4>System Benchmarks</h4>
<p><table width="100%">
<tr>
   <th align=left>Test</th>
   <th align=right>Score</th>
   <th align=left>Unit</th>
   <th align=right>Time</th>
   <th align=right>Iters.</th>
   <th align=right>Baseline</th>
   <th align=right>Index</th>
</tr>
<tr>
   <td><b>Dhrystone 2 using register variables</b></td>
   <td align=right><tt>23353355.0</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>116700.0</tt></td>
   <td align=right><tt>2001.1</tt></td>
</tr>
<tr>
   <td><b>Double-Precision Whetstone</b></td>
   <td align=right><tt>4196.7</tt></td>
   <td align=left><tt>MWIPS</tt></td>
   <td align=right><tt>9.9 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>55.0</tt></td>
   <td align=right><tt>763.0</tt></td>
</tr>
<tr>
   <td><b>Execl Throughput</b></td>
   <td align=right><tt>2651.0</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>29.9 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>43.0</tt></td>
   <td align=right><tt>616.5</tt></td>
</tr>
<tr>
   <td><b>File Copy 1024 bufsize 2000 maxblocks</b></td>
   <td align=right><tt>278507.9</tt></td>
   <td align=left><tt>KBps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>3960.0</tt></td>
   <td align=right><tt>703.3</tt></td>
</tr>
<tr>
   <td><b>File Copy 256 bufsize 500 maxblocks</b></td>
   <td align=right><tt>76708.0</tt></td>
   <td align=left><tt>KBps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>1655.0</tt></td>
   <td align=right><tt>463.5</tt></td>
</tr>
<tr>
   <td><b>File Copy 4096 bufsize 8000 maxblocks</b></td>
   <td align=right><tt>671709.4</tt></td>
   <td align=left><tt>KBps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>5800.0</tt></td>
   <td align=right><tt>1158.1</tt></td>
</tr>
<tr>
   <td><b>Pipe Throughput</b></td>
   <td align=right><tt>1345451.5</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>12440.0</tt></td>
   <td align=right><tt>1081.6</tt></td>
</tr>
<tr>
   <td><b>Pipe-based Context Switching</b></td>
   <td align=right><tt>246604.4</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>4000.0</tt></td>
   <td align=right><tt>616.5</tt></td>
</tr>
<tr>
   <td><b>Process Creation</b></td>
   <td align=right><tt>7088.1</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>30.0 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>126.0</tt></td>
   <td align=right><tt>562.5</tt></td>
</tr>
<tr>
   <td><b>Shell Scripts (1 concurrent)</b></td>
   <td align=right><tt>3253.0</tt></td>
   <td align=left><tt>lpm</tt></td>
   <td align=right><tt>60.1 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>42.4</tt></td>
   <td align=right><tt>767.2</tt></td>
</tr>
<tr>
   <td><b>Shell Scripts (8 concurrent)</b></td>
   <td align=right><tt>440.3</tt></td>
   <td align=left><tt>lpm</tt></td>
   <td align=right><tt>60.3 s</tt></td>
   <td align=right><tt>2</tt></td>
   <td align=right><tt>6.0</tt></td>
   <td align=right><tt>733.8</tt></td>
</tr>
<tr>
   <td><b>System Call Overhead</b></td>
   <td align=right><tt>1562405.9</tt></td>
   <td align=left><tt>lps</tt></td>
   <td align=right><tt>10.0 s</tt></td>
   <td align=right><tt>7</tt></td>
   <td align=right><tt>15000.0</tt></td>
   <td align=right><tt>1041.6</tt></td>
</tr>
<tr>
   <td colspan=6><b>System Benchmarks Index Score:</b></td>
   <td align=right><b><tt>808.6</tt></b></td>
</tr>
</table></p>

<p><hr/></p>


```txt:コンソールログ

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com


1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

1 x Process Creation  1 2 3

1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent)  1 2 3

1 x Shell Scripts (8 concurrent)  1 2 3

4 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

4 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

4 x Execl Throughput  1 2 3

4 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

4 x File Copy 256 bufsize 500 maxblocks  1 2 3

4 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

4 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

4 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

4 x Process Creation  1 2 3

4 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

4 x Shell Scripts (1 concurrent)  1 2 3

4 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: linux.suse: openSUSE 42.2 (aarch64)
   OS: GNU/Linux -- 4.4.49-16-default -- #1 SMP Sun Feb 19 17:40:35 UTC 2017 (70e9954)
   Machine: aarch64 (aarch64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   20:08pm  up   0:07,  2 users,  load average: 1.12, 0.80, 0.42; runlevel 1970-01-01

------------------------------------------------------------------------
Benchmark Run: Wed Mar 22 2017 20:08:40 - 20:37:56
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        3379589.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      610.0 MWIPS (12.0 s, 7 samples)
Execl Throughput                               1049.4 lps   (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        109187.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           39170.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        270879.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                              212769.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  57328.4 lps   (10.0 s, 7 samples)
Process Creation                               2708.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1438.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    419.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         247097.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    3379589.7    289.6
Double-Precision Whetstone                       55.0        610.0    110.9
Execl Throughput                                 43.0       1049.4    244.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     109187.0    275.7
File Copy 256 bufsize 500 maxblocks            1655.0      39170.3    236.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     270879.3    467.0
Pipe Throughput                               12440.0     212769.9    171.0
Pipe-based Context Switching                   4000.0      57328.4    143.3
Process Creation                                126.0       2708.7    215.0
Shell Scripts (1 concurrent)                     42.4       1438.3    339.2
Shell Scripts (8 concurrent)                      6.0        419.0    698.3
System Call Overhead                          15000.0     247097.0    164.7
                                                                   ========
System Benchmarks Index Score                                         246.0

------------------------------------------------------------------------
Benchmark Run: Wed Mar 22 2017 20:37:56 - 21:06:55
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       23353355.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4196.7 MWIPS (9.9 s, 7 samples)
Execl Throughput                               2651.0 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        278507.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           76708.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        671709.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1345451.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 246604.4 lps   (10.0 s, 7 samples)
Process Creation                               7088.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3253.0 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    440.3 lpm   (60.3 s, 2 samples)
System Call Overhead                        1562405.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   23353355.0   2001.1
Double-Precision Whetstone                       55.0       4196.7    763.0
Execl Throughput                                 43.0       2651.0    616.5
File Copy 1024 bufsize 2000 maxblocks          3960.0     278507.9    703.3
File Copy 256 bufsize 500 maxblocks            1655.0      76708.0    463.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     671709.4   1158.1
Pipe Throughput                               12440.0    1345451.5   1081.6
Pipe-based Context Switching                   4000.0     246604.4    616.5
Process Creation                                126.0       7088.1    562.5
Shell Scripts (1 concurrent)                     42.4       3253.0    767.2
Shell Scripts (8 concurrent)                      6.0        440.3    733.8
System Call Overhead                          15000.0    1562405.9   1041.6
                                                                   ========
System Benchmarks Index Score                                         808.6

linux:~/byte-unixbench/UnixBench # uname -a
Linux linux.suse 4.4.49-16-default #1 SMP Sun Feb 19 17:40:35 UTC 2017 (70e9954) aarch64 aarch64 aarch64 GNU/Linux
linux:~/byte-unixbench/UnixBench # cat /etc/issue
Welcome to openSUSE Leap 42.2 - Kernel \r (\l).


linux:~/byte-unixbench/UnixBench # cat /proc/cpuinfo
processor       : 0
BogoMIPS        : 38.40
Features        : fp asimd evtstrm crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 1
BogoMIPS        : 38.40
Features        : fp asimd evtstrm crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 2
BogoMIPS        : 38.40
Features        : fp asimd evtstrm crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 3
BogoMIPS        : 38.40
Features        : fp asimd evtstrm crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

linux:~/byte-unixbench/UnixBench #
```