コードブックとは何かについて聞いたことがありますか? (ヨウランコードの原体験)

ノートブックはほぼ必須の生産性ツールです。ノートブックが薄型軽量ノートブック、オールラウンドノートブック、ゲーミングノートブックに分類されることはご存知かもしれませんが、コードノートブックについて聞いたことはありますか? 最近、幸運にもGebei Technologyから Youlan コードブックを受け取ることができました。以下は、このノートブックを使った私の最初の体験です。

1. Orchid コードブックとは何ですか?

画像.png
Youlan Codebook は、Gebei Technology がプログラマ向けに特別に作成したモバイル コンピューティング プラットフォームで、ARM アーキテクチャのハードウェア設計に基づいて、長年のクロスコンパイル モードを完全に変更し、プログラマにローカライズされた開発およびデバッグ環境を提供し、ローカルでコードを記述し、ローカルでビルドし、ローカルでデバッグできるようにすることを目的としています。

コードブック構成:

画像.png

  • Rockchip の新しい RK3588 SoC チップがコアハードウェアです
  • さまざまな強力な組み込みハードウェア エンジンを内蔵し、8K@60fps H.265 および VP9 デコーダ、8K@30fps H.264 デコーダおよび 4K@60fps AV1 デコーダをサポート、8K30fps H.264 および H.265 エンコーダ、高品質 JPEG エンコーダ/デコーダ、特殊画像プリプロセッサおよびポストプロセッサをサポートします。
  • 内蔵 3D GPU、OpenGL ES1.1/2.0/3.2、OpenCL 2.2、Vulkan 1.2 と互換性あり。MMU を備えた特別な 2D ハードウェア エンジンは、ディスプレイのパフォーマンスを最大限に高め、スムーズな操作体験を提供します。
  • Rockchip が開発した内蔵 48M ピクセル ISP (画像信号プロセッサ) は、HDR、3A、LSC、3DNR、2DNR、シャープ化、曇り除去、魚眼補正、ガンマ補正などの多くのアルゴリズム アクセラレータの実現をサポートします。
  • この高性能 NPU は、INT4/INT8/INT16/FP16 混合演算をサポートでき、その強力な互換性により、TensorFlow/MXNet/PyTorch/Caffe などの一連のフレームワークに基づいてネットワーク モデルを簡単に変換できます。
  • 要求の厳しいメモリ帯域幅をサポートできる高性能 4 チャネル外部メモリ インターフェイス (LPDDR4/LPDDR4X/LPDDR5) を備えています。
  • 詳細な構成へのアクセス

2. コードブックの外観

45316a5fda9a5f35f4e60b2620932ae.jpg
7d6d96951592742c5e910337df9ff3b.jpg

  • プロセス デザイン: 滑らかな外観、滑らかなライン、ダーク グレーと黒の古典的な組み合わせのカラー マッチングなど、ノートブックの全体的なデザインと製造プロセスを指します。
  • 薄くて軽い:ノートブックの重量と厚さは、薄型軽量ノートブックと同様であり、非常に薄くて軽いノートブックは、人々にファッション性と携帯性の感覚を与えます。
  • 素材と質感:ノートの素材はつや消し加工が施されており、美しく、手触りも向上します。
  • 豊富なインターフェース:Type-Cインターフェース、HDMI、USBインターフェース*2、ヘッドフォンジャック、充電ポート、電源インジケータライトがあります。

3. 経験とパフォーマンスのテスト

日常的に使用

以下のスクリーンショットはすべて Youlan コードブックからのものです。

メインインターフェイス (設定によりすぐに置き換え可能):

a7f33f3cb63887bb8697d09511fe5d1.png

ターミナル

まず、Ctrl+Alt+T キーボード ショートカットを使用してターミナルを開くか、ターミナル アイコンをクリックします。
3fe8bf2f33e56d60f70249b18bb972e.png

  • ノートブックのオペレーティング システムがubuntu 23.04 バージョンであることがわかります。
  • ターミナル上でいくつかのコマンドを使用してみると、プログラムの切り替えがスムーズです。

ブラウザダウンロード

  • コマンド ラインからブラウザを直接apt install firefoxダウンロードすると、その後の環境構成が容易になります。FireFox

f84a84bd60baaff92cfa53e539b2ed3.png

ビデオ機能

Youlan コードブックのビデオをご覧ください。

下の画像は Youlan コードブックで再生されています。Youlanの「二本指 Zen」_哔哩哔哩_bilibili を使用すると、2 本の指を使ってマウス ホイールの操作を実現できます。操作は非常に簡単です。これを使用すると、マウスはまったく必要ありません。

cee67ca393cacf85d206ed5f329718c.png

PDFの閲覧

  • Youlan Codebook の PDF リーダーは非常に強力で、タグ、インデックス作成、ハイライト表示、ナイト モード、編集、スライド プレゼンテーション、連続読み取り、見開き読み取りなどの機能をサポートしています。

c15074a175dc3a3f9bfd68a22536ede.png

  • ナイトモード: この機能は PDF を読むのに非常に快適で、長時間見ても目が痛くなりません。私が通常使用している PDF ソフトウェアにはこの機能がほとんどありません。

9da9ab2762036e4cbbc66397e0a4e26.png

  • ハイライト機能:

fecdd7014a3a333ee116134a8232fba.png

バッテリー寿命

  • パワーモードはバランスモードとノードモードをサポートしており、フル充電で基本的に1日使用でき、薄型軽量ノートPCの2倍のバッテリー寿命となる。

8726722f560b6476b5959b9fe455707.png

性能試験

以下は、私の薄型軽量ノートブック (ASUS Dreadnought Pro14、価格 4999) と YoulanCPUコードブックGPUの簡単なテスト比較です。

画像.png

CPUテスト:

  • CPU テスト - 薄くて軽い
cpt@LAPTOP-B2GKPKJG:~$ sysbench cpu --cpu-max-prime=20000 --threads=2 run  // 素数上限2万,默认10秒,2个线程
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 2 // 指定2个线程
Initializing random number generator from current time


Prime numbers limit: 20000  // 每个线程产生的素数上限均为2万个

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  3519.70

General statistics:
    total time:                          10.0004s   // 共耗时10秒  单个线程
    total number of events:              35200  // 10秒内所有线程一共完成了35200次event

Latency (ms):
         min:                                    0.53
         avg:                                    0.57
         max:                                    1.43
         95th percentile:                        0.97
         sum:                                19990.67  // 俩个线程花费 总时间

Threads fairness:
    events (avg/stddev):           17600.0000/8.00
    execution time (avg/stddev):   9.9953/0.00
  • オーキッドコードブック
geduer@ulan:~$ sysbench cpu --cpu-max-prime=20000 --threads=2 run  // 素数上限2万,默认10秒,2个线程
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 2  // 指定2个线程
Initializing random number generator from current time


Prime numbers limit: 20000// 每个线程产生的素数上限均为2万个

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  1948.42

General statistics:
    total time:                          10.0007s// 共耗时10秒  单个线程
    total number of events:              19490  // 10秒内所有线程一共完成了19490次event

Latency (ms):
         min:                                    1.02
         avg:                                    1.03
         max:                                   11.81
         95th percentile:                        1.03
         sum:                                19995.41  // 俩个线程花费 总时间

Threads fairness:
    events (avg/stddev):           9745.0000/23.00
    execution time (avg/stddev):   9.9977/0.00

GPUテスト:

私はオープンソースのベンチマーク プログラムをglmark2テストGPU使用しており、通常はベンチマークに使用されます。グラフィックス ユニットのパフォーマンスのさまざまな側面 (バッファリング、アーキテクチャ、ライティング、テクスチャなど) をカバーする豊富なテスト セットが提供されており、より包括的で有意義なテストが可能です。テストごとに秒単位で実行され、フレーム レートが個別に計算されます。
glmark2OpenGL 2.0 ES 2.0GPUglmark10

  • 薄くて軽いノートブック - glmark2 の実行ポイント:
cpt@LAPTOP-B2GKPKJG:~$ glmark2
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
    glmark2 2021.02
=======================================================
    OpenGL Information
    GL_VENDOR:     Microsoft Corporation
    GL_RENDERER:   D3D12 (AMD Radeon(TM) Graphics)
    GL_VERSION:    3.1 Mesa 21.2.6
=======================================================
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false:
 FPS: 909 FrameTime: 1.100 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 993 FrameTime: 1.007 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 962 FrameTime: 1.040 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 922 FrameTime: 1.085 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap: FPS: 979 FrameTime: 1.021 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=gouraud: FPS: 961 FrameTime: 1.041 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=blinn-phong-inf: FPS: 949 FrameTime: 1.054 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=phong: FPS: 977 FrameTime: 1.024 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=cel: FPS: 971 FrameTime: 1.030 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=high-poly: FPS: 946 FrameTime: 1.057 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=normals: FPS: 1021 FrameTime: 0.979 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=height: FPS: 1018 FrameTime: 0.982 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 976 FrameTime: 1.025 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 757 FrameTime: 1.321 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[pulsar] light=false:quads=5:texture=false:
 FPS: 889 FrameTime: 1.125 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:
 FPS: 744 FrameTime: 1.344 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] effect=shadow:windows=4: FPS: 701 FrameTime: 1.427 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 557 FrameTime: 1.795 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 572 FrameTime: 1.748 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 626 FrameTime: 1.597 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[ideas] speed=duration: FPS: 534 FrameTime: 1.873 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[jellyfish] <default>: FPS: 805 FrameTime: 1.242 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[terrain] <default>: FPS: 211 FrameTime: 4.739 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shadow] <default>: FPS: 796 FrameTime: 1.256 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[refract] <default>: FPS: 344 FrameTime: 2.907 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 904 FrameTime: 1.106 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 854 FrameTime: 1.171 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 927 FrameTime: 1.079 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=low:fragment-steps=5: FPS: 886 FrameTime: 1.129 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=medium:fragment-steps=5: FPS: 904 FrameTime: 1.106 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 909 FrameTime: 1.100 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 909 FrameTime: 1.100 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 959 FrameTime: 1.043 ms
=======================================================
                                  glmark2 Score: 829
=======================================================
  • Youlan コードブック - glmark2 実行スコア:
geduer@ulan:~$ glmark2-wayland
=======================================================
    glmark2 2021.02
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali-G610 (Panfrost)
    GL_VERSION:    3.0 Mesa 23.0.0-devel (git-120202c675)
=======================================================
[build] use-vbo=false: FPS: 1462 FrameTime: 0.684 ms
[build] use-vbo=true: FPS: 1813 FrameTime: 0.552 ms
[texture] texture-filter=nearest: FPS: 1825 FrameTime: 0.548 ms
[texture] texture-filter=linear: FPS: 1759 FrameTime: 0.569 ms
[texture] texture-filter=mipmap: FPS: 1350 FrameTime: 0.741 ms
[shading] shading=gouraud: FPS: 1374 FrameTime: 0.728 ms
[shading] shading=blinn-phong-inf: FPS: 1308 FrameTime: 0.765 ms
[shading] shading=phong: FPS: 1299 FrameTime: 0.770 ms
[shading] shading=cel: FPS: 1224 FrameTime: 0.817 ms
[bump] bump-render=high-poly: FPS: 873 FrameTime: 1.145 ms
[bump] bump-render=normals: FPS: 1549 FrameTime: 0.646 ms
[bump] bump-render=height: FPS: 1422 FrameTime: 0.703 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1510 FrameTime: 0.662 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 841 FrameTime: 1.189 ms
[pulsar] light=false:quads=5:texture=false: FPS: 2075 FrameTime: 0.482 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 315 FrameTime: 3.175 ms
[desktop] effect=shadow:windows=4: FPS: 825 FrameTime: 1.212 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 296 FrameTime: 3.378 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 253 FrameTime: 3.953 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 277 FrameTime: 3.610 ms
[ideas] speed=duration: FPS: 615 FrameTime: 1.626 ms
[jellyfish] <default>: FPS: 1028 FrameTime: 0.973 ms
[terrain] <default>: FPS: 72 FrameTime: 13.889 ms
[shadow] <default>: FPS: 725 FrameTime: 1.379 ms
[refract] <default>: FPS: 272 FrameTime: 3.676 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 2024 FrameTime: 0.494 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1566 FrameTime: 0.639 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 2256 FrameTime: 0.443 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1643 FrameTime: 0.609 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1337 FrameTime: 0.748 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1911 FrameTime: 0.523 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 2176 FrameTime: 0.460 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1660 FrameTime: 0.602 ms
=======================================================
                                  glmark2 Score: 1240 
=======================================================

4. まとめと評価

アドバンテージ:

  • 豊富なインターフェース。
  • 勉強や仕事に便利なLinux環境。
  • バッテリー寿命は長く、3 時間使用しても電力の 33% のみが使用されます。
  • キーの移動量は適切であり、フィードバックは迅速です。
  • タッチパッドは摩擦素材で作られており、タッチに敏感で指紋が付きにくいです。
  • コストパフォーマンスが高く、価格はたったの3588です。
  • 外観はミニマリストで、外観が高く、手触りが良いです。

ユーザー:

  • ARM プラットフォームの開発に携わるソフトウェア エンジニア、または ARM アーキテクチャを学びたい研究者
  • LINUX システム ソフトウェアまたはアプリケーション ソフトウェアを開発するプログラマー、テスト エンジニア、またはソフトウェア セキュリティ研究者
  • コンピューターのソフトウェアとハ​​ードウェアの原理を研究し、深く研究する大学の学生と教師

上記は私が Youlan コードブックを初めて体験したものですが、さらに詳しく知りたい場合は、Youlan コードブックYoulan コードブックの使用方法に関するチュートリアルを参照してください。

おすすめ

転載: blog.csdn.net/weixin_49486457/article/details/131801324