Ubuntu Weekly Recipe

第457回Celeron J3455で省エネPC生活

今回は本連載第326回第385回のアップデートです。SoCの特性上直接の比較対象は前者のCeleron J1900です。

昨今の省エネ自作PC事情

第385回で取り上げたCeleron N3150は開発コード名をBraswellといいます。Braswellにも世代があり、新しいほうはBraswell Refreshと呼ばれています。N3150はBraswellで、N3160がBraswell Refreshというわけです。今回取り上げるCeleron J3455の開発コード名はApollo lakeです。ついでに第326回でとりあげたJ1900の開発コード名はBay Trailでした。

BraswellとBraswell Refreshの製品の在庫が残っているからか、あるいは純粋に売れないからか、その他の理由からか、Apollo Lakeの製品をあまり見かけません。今回取り上げるASRockは例外的にラインナップが多いのですが、ASUSはわずか1製品ほか大手マザーボードメーカーのGIGABYTEやMSIはラインナップがありません。ベアボーンはECSのLIVA ZとShuttleのDX30くらいのものです。インテルのNUC6CAYHはまだ日本では発売されていませんが、期待したいところです。もちろんPCとしてはもっといろいろなところから販売されていますが。

このように影が薄いApollo Lakeを今回取り上げたのは、意外と「遊べる」やつだからです。では、具体的に見ていきましょう。

PCの構成

今回使用したPCの構成は次のとおりです。

マザーボード ASRock J3455-ITX
メモリー ELPIDA EBJ40UG8BBU0-GN-F(4Gバイト)
SSD Crucial CT120BX100SSD1
ケース In Win IW-BP671/300B

ようするにマザーボード以外は第326回と第385回で使用したパーツの流用ですが、SSDだけは約1年前に購入したものです。理由はよく覚えていませんが、安かったからでしょうか。ちなみにJ1900はサブ検証機として使用しており、実際に『Software Design 2017年2月号』に掲載された「Ubuntu Monthy Report:第82回 Ubuntu 16.04 LTSで使用できるUSB無線LANアダプタ7選」の検証を行いました。とはいえこれで退役となります。

J3455のTDPは10Wで、これはJ1900と同じです。なので今回は両者を比較することにしました。

J3455-ITXはWi-Fiモジュール用のM.2ソケットがありますが、今回は使用していません。どうしてもIntelのWi-Fiモジュールにしたい場合を除いては、USB接続の無線LANアダプターほうが安価で扱いが楽だと思います[1]⁠。機種選定と動かし方は前出の記事をご覧ください。

またN3150-ITXにあったUSB 3.0の外部チップはなくなっていますが、SATAの外部チップは引き続き実装されています。

使用するUbuntu

使用したUbuntuは16.04 LTSです。正確にはUbuntu GNOME 16.04 LTSです。新規にインストールしたわけではなく、以前SSDにインストールしたものをそのまま使用しています。

デフォルトの設定ではUEFIからしかブートできないため、レガシーブートする場合はUEFIの設定を変更する必要があります。UEFIメニューを起動し、⁠Boot][CSM][Enabled]にし図1⁠、保存した上で再起動するとブートできるようになります。

図1 必要な場合、UEFIの設定を変更してレガシーブートを有効にする
画像

[すべての設定][詳細]を開くと図2のようになります。いずれも正しく認識されています。

図2 インストール完了後、この[詳細]を確認するのはわりとオススメである
画像

動画再生支援機能

Apollo Lakeのウリの一つは、動画再生支援機能の充実です。i965-va-driverとvainfoとlibvdpau-va-gl1とvlcの4つパッケージをインストールして、vainfoコマンドを実行してみましょう。

vainfo: VA-API version: 0.39 (libva 1.7.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 1.7.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD

なんとHEVC(H.265)とVP9に対応しています。ただし、検証してみたところ実際に動画再生支援機能が役に立つ場面というのはほとんどありませんでした。もちろん再生する動画にもよるのでしょうが、フルHD(2k)くらいであればH.264でもH.265でも動画再生支援機能がなくてもコマ落ちなく再生できました。それどこかSintelの4kバージョンもコマ落ちなく再生できました。図3図4がその証拠です。これには驚きました。

図3 コーデックを確認すると間違いなく4k動画である
画像
図4 消失が0フレームなので、全くコマ落ちしなかったことがわかる
画像

なおVLCはデフォルトでハードウェアアクセラレーション(動画再生支援機能)を使用してデコードしますが、⁠ツール][設定][入力/コーデック][ハードウェアアクセラレーションによるデコード]でカスタマイズできます図5⁠。そのため、動画が再生されない(ないし表示されない)場合はここの設定を変更してみてください。

図5 動画の再生がうまく行かない場合は、⁠ハードウェアアクセラレーションによるデコード]を変更してみる
画像

OpenCL

Apollo LakeはOpenCLに対応しています。OpenCLに関するざっくりとした解説は第456回の脚注1をご覧ください。

IntelのOpenCLライブラリは2つあり、オープンソースのもの(Beignet)と今回取り上げるクローズドソースのものです。

OpenCLのランタイムを動かすくらいであればさほど難しいことはありません。OpenCL™ Drivers and Runtimes for Intel® ArchitectureOpenCL™ 2.0 GPU/CPU driver package for Linux* (64-bit)から[SRB4_linux64.zip]をダウンロードします。ファイル名は執筆時点のものであり、今後変更されるかもしれません。これを展開した上で、次のコマンドを実行してください。

$ cd SRB4_linux64/
$ sudo apt install alien
$ fakeroot alien *.rpm
$ sudo usermod -a -G video $USER
$ sudo apt install openssl libnuma1 libpciaccess0 clinfo
$ sudo apt install ./*.deb

パッケージはRPMで提供されているため、これをDebパッケージに変換してからインストールしています。インストール後、一度ログアウトして再ログインします。

ログイン後、clinfoコマンドを実行し、OpenCLが使用できるようになっているか確認します。

Number of platforms                               1
  Platform Name                                   Intel(R) OpenCL
  Platform Vendor                                 Intel(R) Corporation
  Platform Version                                OpenCL 1.2 
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64
  Platform Extensions function suffix             INTEL

  Platform Name                                   Intel(R) OpenCL
Number of devices                                 1
  Device Name                                     Intel(R) Celeron(R) CPU J3455 @ 1.50GHz
  Device Vendor                                   Intel(R) Corporation
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 1.2 (Build 400)
  Driver Version                                  1.2.0.400
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     CPU
  Device Profile                                  FULL_PROFILE
  Max compute units                               4
  Max clock frequency                             1500MHz
  Device Partition                                (core)
    Max number of sub-devices                     4
    Supported partition types                     by counts, equally, by names
(以下省略)

こうなっていれば成功です。

LibreOffice CalcではOpenCLを手軽に使用できます。今回はLibreOffice 5.2を使用しているため、第434回を参考にしてアップデートしてください。PPAがオススメです。

アップデート後、⁠ツール][オプション][OpenCL][OpenCLを使用する]にチェックを入れ、LibreOfficeを再起動します。続いて[ヘルプ][LibreOfficeについて]を開くと、⁠Calc: CL]という文字列があるはずです図6⁠。この場合はOpenCLが有効になっています。無効の場合は[Calc: group]になっています。

図6 LibreOffice 5.2ではここでOpenCLが有効になっているかどうかを確認する
画像

図7がOpenCL無効、図8がOpenCL有効で計測したベンチマークです。約2/3の速度になっていますが、絶対的にはお世辞にも速いとはいえません。とはいえ巨大なCalcのファイルを扱わない限りは充分な速度でしょう。

図7 Durationの数値に注目する
画像
図8 Durationが図7の2/3くらいの数値になっている
画像

ベンチマーク

CPU

CPUのベンチマークは、相変わらずLibreOfficeのビルドを行いました。マザーボード以外同一の環境でJ1900とJ3455で、16.04のリポジトリにある5.1.4をビルドしてみました。するとJ1900では約500分、J3455では約400分でした。J1900のクロック周波数は2〜2.4GHz、J3455は1.5〜2.3GHzなので、この差をはねのけてこれだけ時間が短くなっているのは注目すべきでしょう。上位モデルのJ4205-ITXだとより速いと思われるので、CPU性能が必要な場合はこちらにするといいでしょう。

SATA

SATAのポートは4つあり、それぞれ[SATA3_1]⁠SATA3_2]⁠SATA3_A1]⁠SATA3_A2]です、前半がSoC内蔵のSATAコントローラー接続、後半が外部チップ(ASMedia ASM1061)と思われるので、ベンチマークを計測しました。図9[SATA3_1⁠⁠、図10[SATA3_A1]に接続した際の結果です。なお、この計測のみUbuntu GNOME 16.10を使用しています。

図9 薄くて申し訳ないが、Readが500MB/sくらい、Writeが200MB/sくらい出ている
画像
図10 Readが400MB/sくらいしか出ていない
画像

Writeが遅いのはSSDに由来するものであり、異常ではありません。

消費電力

ワットチェッカーで簡単に確認しただけですが、アイドルで12W、負荷をかけると22〜23Wほどでした。確かにJ1900よりは消費電力が10%ほど増えていますが、性能は10%をはるかに超えるほど向上しているため、ワットパフォーマンスは上がっています。

このようにUbuntuをインストールするPCを手軽に用意したい場合は、Apollo Lakeを採用したマザーボードまたはベアボーンはおすすめです。

おすすめ記事

記事・ニュース一覧