Skip to content

Blog

Mojo をインストールする

高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 で言及されていますが、Mojo という新言語がリリースされたそうです。 記事では Mojo について以下のように記載されています。

MojoはAI処理を高速に実行するための言語だと説明されています。Pythonとの互換性によって既存のTensorFlowやPyTorchなどをそのまま利用可能で、PythonよりもTensorFlowで最大3倍、PyTorchで最大25倍などの高速な処理を実現することで、AI処理の開発や実行のコスト削減などを実現するとしました。

さらにPythonのようなモダンなプログラミング言語の構文を用意しつつ、スタティックなメタプログラミングの能力も持ち、Rustのようなオーナーシップとライフタイムの仕組みを、より分かりやすく提供するとしました。

開発元のModular社は、コンパイラ基盤として広く使われているLLVM、Swift言語、GoogleがAI処理のために設計したCloud TPUなどの開発に関わってきたChris Lattner氏が共同創業者兼CEOを務めています。

今回は Ubuntu 22.04LTS に Mojo をインストールします。 尚、後述しますが現時点では Ubuntu22.04 へ Mojo をインストールすることは出来ませんでした。

Python で文字列結合を f 文字列で実装する

Python で文字列を結合したり、フォーマットを指定するには str.format(args, *kwargs) を使う方法があります。 Python 3.6 からは フォーマット済み文字列リテラル、俗に言う「f 文字列」がサポートされ、より簡単に定義出来るようになりました。

以下は「文字列を結合して表示する」という目的を異なる方法で実装した例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
a = "apple"
b = "banana"

# format() を使った書き方
print("{} and {}".format(a, b))

# 文字列結合を使った書き方
print(a + " and " + b)

# f 文字列を使った書き方
print(f"{a} and {b}")

MkDocs をインストールする

静的サイトジェネレーターである MkDocs に関して、日本語の情報源としては Mebiusbox さんがお書きになっている MkDocsによるドキュメント作成 が最強なのでは無いかと思います。 余談ですが 「動かして学ぶ!Rust入門」の執筆 によると Mebiusbox さんは さんは 動かして学ぶ!Rust入門 の著者でもあるそうです (すごい)。

以前に HBFM (Markdown 拡張) を追加した MkDocs の Docker イメージ というメモを書きました。 このは ハートビーツ さんが作成されたプラグインを取り込んだ MkDocs の Docker イメージを利用する前提になっています。 今回は Docker コンテナは利用せず、ローカルに MkDocs をインストールする手順をメモしておきます。

Cisco CIMC のバージョンを HUU で変更する

Cisco UCS サーバの管理インターフェイスである CIMC 自身のバージョンを変更するには HUU (Cisco Host Upgrade Utility) を利用します。 HUU による CIMC バージョン変更手順は UCS C-Series HUU によるアップグレード方法 (CIMC version 4.x) に掛かれています。 このコミュニティ記事で十分事足りる=不足は無いのですが、自分用に CIMC のバージョンを変更した際の手順をメモしておきます。

CML 上で Linux を使う際の Cloud Init 設定例

Cisco CML には Reference Platform に Ubuntu 22 が含まれるようになりました。 私の場合、この Reference Platform に含まれている Ubuntu 22 イメージは利用せず、日々更新されている Ubuntu Cloud Images を利用しています。 これらのイメージを CML で利用する手順は cmlutils を使い、CLI から CML へ新規イメージを登録する で書きました。

尚、Ubuntu のバージョンごとに付けられたコードネームは Wikipedia に書かれています。

Ubuntu Cloud Images に登録されているイメージには Cloud Init が含まれている為、初期コンフィグを指定することが出来ます。 今回は以下の 3 パターンの Cloud Init 用コンフィグ例をメモしておきます。 尚、いずれのパターンもログイン情報は「ユーザ名は root、パスワードは password」にしています。

  1. NIC x 1 枚構成
  2. NIC x 2 枚構成 (NIC #1 側が Default Route)
  3. NIC x 2 枚構成 (NIC #1 側が Default Route、NIC #2 側には Static Route)

Ubuntu 24.04LTS イメージを CML へ登録する

Cisco CML には Ubuntu が同梱されており、最新の Reference Platform には Ubuntu 22.04LTS が収録されています。 現在は Ubuntu 24.04LTS が開発中であり、Ubuntu Cloud Images 24.04 LTS Daily Build でイメージが CML 上で利用可能な qcow2 イメージも公開されています。 qcow2 ファイルを CML へ登録する手順は以前に cmlutils を使い、CLI から CML へ新規イメージを登録する というメモに記載しました。

ノード定義・イメージ定義ファイルのサンプルを以下にアップロードしておきました。

上記ファイルの内容もメモしておきます。