2018年8月3日金曜日

likwid で 姫野ベンチ を計測してみた

likwid 、姫野ベンチ の導入は make するだけなので、省略します。
[root@hoge Downloads]# likwid-perfctr -C 1 -g FLOPS_SP ./bmt 
--------------------------------------------------------------------------------
CPU name: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
CPU type: Intel Kabylake processor
CPU clock: 2.90 GHz
--------------------------------------------------------------------------------
mimax = 129 mjmax = 129 mkmax = 257
imax = 128 jmax = 128 kmax =256
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 5008.406795 time(s): 0.082125 1.733593e-03

 Now, start the actual measurement process.
 The loop will be excuted in 2191 times
 This will take about one minute.
 Wait for a while

 Loop executed for 2191 times
 Gosa : 4.477886e-04 
 MFLOPS measured : 6004.316730 cpu : 50.030231
 Score based on Pentium III 600MHz : 73.223375
--------------------------------------------------------------------------------
Group 1: FLOPS_SP
+------------------------------------------+---------+--------------+
|                   Event                  | Counter |    Core 1    |
+------------------------------------------+---------+--------------+
|             INSTR_RETIRED_ANY            |  FIXC0  | 244033624741 |
|           CPU_CLK_UNHALTED_CORE          |  FIXC1  | 173945548078 |
|           CPU_CLK_UNHALTED_REF           |  FIXC2  | 144661450175 |
| FP_ARITH_INST_RETIRED_128B_PACKED_SINGLE |   PMC0  |  72415611576 |
|    FP_ARITH_INST_RETIRED_SCALAR_SINGLE   |   PMC1  |  11146222208 |
| FP_ARITH_INST_RETIRED_256B_PACKED_SINGLE |   PMC2  |            0 |
+------------------------------------------+---------+--------------+

+----------------------+-----------+
|        Metric        |   Core 1  |
+----------------------+-----------+
|  Runtime (RDTSC) [s] |   50.2231 |
| Runtime unhalted [s] |   59.9028 |
|      Clock [MHz]     | 3491.6156 |
|          CPI         |    0.7128 |
|      SP MFLOP/s      | 5989.4533 |
|    AVX SP MFLOP/s    |         0 |
|    Packed MUOPS/s    | 1441.8797 |
|    Scalar MUOPS/s    |  221.9344 |
|  Vectorization ratio |   86.6611 |
+----------------------+-----------+
このように、ちゃんと近い値が出ました。-g オプションで指定する group name は、-a オプションで表示できます。
[root@hoge Downloads]# likwid-perfctr -a
 Group name Description
--------------------------------------------------------------------------------
       DATA Load to store ratio
 UOPS_ISSUE UOPs issueing
  TLB_INSTR L1 Instruction TLB miss rate/ratio
   TLB_DATA L2 data TLB miss rate/ratio
  FLOPS_AVX Packed AVX MFLOP/s
UOPS_RETIRE UOPs retirement
     BRANCH Branch prediction miss rate/ratio
  UOPS_EXEC UOPs execution
     ICACHE Instruction cache miss rate/ratio
       UOPS UOPs execution info
         L3 L3 cache bandwidth in MBytes/s
   FLOPS_SP Single Precision MFLOP/s
    L2CACHE L2 cache miss rate/ratio
   RECOVERY Recovery duration
    L3CACHE L3 cache miss rate/ratio
         L2 L2 cache bandwidth in MBytes/s
CYCLE_ACTIVITY Cycle Activities
     ENERGY Power and Energy consumption
FALSE_SHARE False sharing
      CLOCK Power and Energy consumption
   FLOPS_DP Double Precision MFLOP/s
なお、姫野ベンチ(static M)のソースを grep するとわかりますが、float で計算しているので、FLOPS_DP ではなく FLOPS_SP を使いました。
[root@hoge Downloads]# grep -w float himenoBMTxps.c 
float jacobi();
static float  p[MIMAX][MJMAX][MKMAX];
static float  a[4][MIMAX][MJMAX][MKMAX],
static float  bnd[MIMAX][MJMAX][MKMAX];
static float  wrk1[MIMAX][MJMAX][MKMAX],
static float omega;
  float  gosa;
        p[i][j][k]=(float)(i*i)/(float)((imax-1)*(imax-1));
float
  float gosa, s0, ss;

2018年6月20日水曜日

CentOS7 の黒いコンソール画面で Caps Lock の LED が光らない

会社のメインマシン用に、東プレの省スペースキーボード R2TLA-JP4-BK を新調し、試し打ちのために、CentOS7 が動作しているマシンに接続しました。
これまでは東プレの旧型省スペースタイプを使っていましたが、新型は今までになかった LED が搭載されており、さっそく Caps Lock で LED 点灯を確かめようとしたのですが。。。
点灯せず(あれ?)。キーを押すと大文字が入力されるので Caps Lock がちゃんと反応はしているようなのですが、なぜか LED が光りませんでした。

これって初期不良?サポートに聞くのは手間だなあなどと思ったのですが、問い合わせる前の切り分けに、別の LED 付フルキーボードを同じマシンに接続してみました。
これで LED が光るようなら、新キーボードの初期不良確定なのですが、なんとそのフルキーボードの LED も光らずでした。フルキーボードは別の CentOS7 マシンに接続していて、そちらでは光ってましたので、マシン環境の違いということになりました。

設定の差分を調べたところ、カーネルコマンドライン vconsole.keymap=jp106 の有無が違ってました。LED が光らなかったマシンにこの設定を入れたところ、コンソール画面で Caps Lock の LED が反応するようになりました。あーよかった。
[root@hoge ~]# vi /etc/default/grub 
...
GRUB_CMDLINE_LINUX="crashkernel=auto vconsole.keymap=jp106"
...
[root@hoge ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@hoge ~]# shutdown -r now
なお、あとで試したら vconsole.keymap=jp106 を指定していなくても、GNOME デスクトップのターミナル等であれば、LED が点灯するようです。
Caps Lock キーなんて、まず使わないわけですが、間違って押した時に LED が光ってすぐ分かるのは利点かなと思います。

いろいろな種類がある東プレキーボードですが、静音タイプは自分としては「何か違う感」があったのと、キー荷重ALL45gが好みなので、R2TLA-JP4-BK(人気薄?)を選択しました。以前、ALL30gのキーボードを使っていたこともあるのですが、自分には軽過ぎました。R2TLA-JP4-BK は、キー刻印が見づらい(黒色に墨)ですが、まったく問題なしです。増田忠先生の練習法は、すばらしいです。かれこれ30年近く前、「ワープロ・パソコンのためのらくらくキーボード練習帳―ブラインド・タッチからワープロ検定まで〈1 ローマ字入力編〉」という本で練習したおかげで、ほとんどキーを見なくても打てるようになりました。おもえば、ブラインドタッチになってから、キーボードにこだわりだしたのでした。速く打てるようになったため、良いキーボードでないと手が痛くて耐えられなくなり。。。

R2TLA-JP4-BK の打ち心地は、かなり気に入りました。ネット上で不評な右上部分のデザインも、色合い(非静音タイプは銀色)のせいか、それほど気になりませんでした。APC は、ちょっと試してみた限りでは、違いが知覚できず。とりあえずは、ノーマル設定(キースイッチ反応位置2.2mm)で利用中です。キーストロークを浅めにできるスペーサーまで付属しますが、キートップを全部とるのが手間なので、試していません。


写真では分かり難いですが、BIOS 設定で電源投入時に Num Lock を on にする設定により、Num Lock の LED を緑色に点灯させています。このキーボードは LED の色も選べるし、輝度を調整できたりもします。写真は輝度を一番低くした状態です。
黄色い S キーは、これまで使っていた 91UBY (NG02Y0) から移植したものです。互換性のない最下段以外を全部移植しようかと思ってましたが、R2TLA-JP4-BK それ自体の美しい佇まいも捨て難く感じ、1ポイントアクセントに留めました。


以上、vconsole.keymap についての備忘録のつもりが、ついつい RealForce のレビューになってしまいました。

2018-11-29追記
せっかく購入した R2TLA-JP4-BK ですが、日本語入力の際に頻繁に使う 変換キー の位置が標準的なものと異なっており、正直使いづらくて自分には耐えられませんでした。このため、メインマシン (Windows PC) での利用は断念して、そのまま Linux サーバで利用しています。RealForce R2 シリーズは、省スペース性が旧シリーズよりも向上している点が良いのに残念です。

2018年6月8日金曜日

Linux の smartctl で NVMe の温度などが見えた

ThinkPad 25 で、初めての NVMe を使い始めて約8ヵ月。
smartctl は SATA の S.M.A.R.T. を採ってくるツールだから、NVMe には使えないと思いこんでいましたが、本日 Fedora28 を使っていて、最新の smartctl ならば、NVMe 向けの拡張が実装済みではないか?っと man を nvme でサーチしたら記述がありました。そして、実際使えました。CentOS7 に収録の smartctl でも使えるようです。

下記は、CentOS7 上での試し打ち結果です。ちょっとした注意点(コツ)があり、/dev/nvme0n1(ネームスペース1)のほうではなく、/dev/nvme0 を指定します。そうしないと、肝心の情報(後半に出力される温度や消耗度を表すデータ)が出力されません。
[root@hoge ~]# smartctl -a /dev/nvme0
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.3.2.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       LENSE20512GMSP34MEAT2TA
Serial Number:                      114406730xxxx
Firmware Version:                   2.3.8341
PCI Vendor/Subsystem ID:            0x17aa
IEEE OUI Identifier:                0xa03299
Controller ID:                      1
Number of Namespaces:               1
Namespace 1 Size/Capacity:          512,110,190,592 [512 GB]
Namespace 1 Utilization:            0
Namespace 1 Formatted LBA Size:     512
Local Time is:                      Fri Jun  8 11:05:50 2018 JST
Firmware Updates (0x02):            1 Slot
Optional Admin Commands (0x0007):   Security Format Frmw_DL
Optional NVM Commands (0x0016):     Wr_Unc DS_Mngmt Sav/Sel_Feat
Maximum Data Transfer Size:         32 Pages
Warning  Comp. Temp. Threshold:     70 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     6.50W       -        -    0  0  0  0        0       0
 1 +     4.60W       -        -    1  1  1  1        5       5
 2 +     3.90W       -        -    2  2  2  2        5       5
 3 -   0.1000W       -        -    3  3  3  3    35000    6000
 4 -   0.0100W       -        -    4  4  4  4    35000    6000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 -     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning:                   0x00
Temperature:                        38 Celsius
Available Spare:                    100%
Available Spare Threshold:          3%
Percentage Used:                    0%
Data Units Read:                    5,199,478 [2.66 TB]
Data Units Written:                 3,861,451 [1.97 TB]
Host Read Commands:                 91,143,836
Host Write Commands:                85,539,172
Controller Busy Time:               256
Power Cycles:                       485
Power On Hours:                     2,504
Unsafe Shutdowns:                   146
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Temperature Sensor 1:               44 Celsius
Temperature Sensor 2:               38 Celsius
Temperature Sensor 3:               35 Celsius

Error Information (NVMe Log 0x01, max 4 entries)
No Errors Logged

[root@hoge ~]# 
なお、同様のデータは nvme コマンドでも出せます。でも、SATA ディスクを扱うことが多くて、現状、NVMe はこの一台しか使っていないため、今のところ覚えられず。smartctl なら、ほぼ SATA と同様なので、ありがたい。
[root@hoge ~]# nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning                    : 0
temperature                         : 39 C
available_spare                     : 100%
available_spare_threshold           : 3%
percentage_used                     : 0%
data_units_read                     : 5,199,509
data_units_written                  : 3,861,775
host_read_commands                  : 91,144,551
host_write_commands                 : 85,546,279
controller_busy_time                : 256
power_cycles                        : 485
power_on_hours                      : 2,504
unsafe_shutdowns                    : 146
media_errors                        : 0
num_err_log_entries                 : 0
Warning Temperature Time            : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1                : 44 C
Temperature Sensor 2                : 39 C
Temperature Sensor 3                : 36 C
Thermal Management T1 Trans Count   : 0
Thermal Management T2 Trans Count   : 0
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 0
人気ブログランキングへ にほんブログ村 IT技術ブログへ