type t (* void *)

関数型言語や英語学習の事とか。

ThinkPad A285覚書

Lenovo ThinkPad A285 | 高いパフォーマンスとモバイル性能を追求した12.5型軽量モバイルノート | レノボジャパン

SSD500GB, メモリ16GBにカスタマイズして買いました。
当面はWindows, Ubuntu 18.04のデュアル構成を続けますがめんどくさくなったらWIn一本でsshで常に作業することにします。

Ubuntu 18.04使いたいのはpython3のバージョンが最初から3.6が使えるからですね。 pyenvとかやるのめんどくさいしなんかtkが動かなかったりしてmatploblibで描画できなかったりするので。。。

Ubuntu ハマりポイント

Ubuntu 18.04のそのままでは無線LANドライバが動かない

Linux Kernel 4.14.4 以上じゃないと動作しないようです。 私は ukuu を使って4.20に上げましたが当然動く保証はないです。

amdgpuのドライバがクラッシュすることがある

12月 30 00:34:20 nomaddo-ThinkPad-A285 kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring sdma0 timeout, signaled seq=124176, emitted seq=124178
12月 30 00:34:20 nomaddo-ThinkPad-A285 kernel: [drm] GPU recovery disabled.

これは本当に困ってしまって、解決するかどうかはわかりませんがカーネルのバージョンを4.20にしたり使うドライバを変えてみたりして様子を見ています。

追記:クラッシュする

ログが化けてしまってまだ原因わかってないのですが、Ubuntu 18.04がフリーズするのを確認してます。

所感

キーボードが大変良いです。前はDellのInspiron 13を使っていましたが、この子のキーボードのほうが長時間作業にあからさまに向いています。
また、重さが1.2Kgになって前のよりも軽量化されました(Inspiron 13は1.5Kg程度でした)。 重さという意味では富士通のLifeBookも考えたのですが、宗教上の理由でやめました。Mobile Ryzenで遊びたかったという気持ちもあります。

Mobile RyzenはVega GPUを搭載しているため、GPU性能が素晴らしいです。 単精度の理想的な性能は1.2 TFLOPS程度で、1 TFLOPSを超えるわけですね。また、 GPUメモリからCPUメモリに転送する enqueueMapBuffer もreadで3.7 TBPS、writeで6TBPSとPCIEで接続していれば到底出せない速度が出ています。

ちなみに公式ドライバのインストールを行うと /usr/lib/libOpenCL.so.1 は作られるけど /usr/lib/libOpenCL.so は作られないのでそのままではいろいろなもののリンクに失敗しまくります。

ちょっとバッテリの持ちは短いかもしれません。フル充電で3時間というところでしょうか。
これはUbuntuで実感していることなのでWindowsでは違うかもしれませんが、ファンのあたりがアイドル時でも温まっていることを実感します。 ちなみにスリープ動いてます。動いているの初めてみた。。。

Drystone

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    55550010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          612373088
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          612373088
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Microseconds for one run through Dhrystone:        0.1 
Dhrystones per Second:                        11600928