PFCP チュートリアル: MN-Core を PyTorch から使用する
このドキュメントでは、MLSDK(Machine Learning Software Development Kit)を使用して MN-Core を活用する方法について説明します。
後方互換性に関する注意
MLSDK は現在不安定であり,将来のアップデートでは下位互換性がなくなったり、重大な変更が導入される可能性もあります。 特定のバージョンの MLSDK を使用する場合は、コンテナイメージを適宜修正してください。
MLSDKとは
MLSDK は、PyTorch から MN-Core を使用できるようにするためのコンパイラ、ランタイムソフトウェアスタック、ドキュメントを含むソフトウェア開発環境です。 名前に「Machine Learning」とありますが、機械学習分野以外の高速な計算処理を行うソフトウェアの開発にも使用できます。
環境構築
MLSDK はコンテナイメージとして配布されます。
最新バージョンの MLSDK(registry.pfcomputing.internal/mncore-sdk/mncore-sdk-full:latest
)のコンテナイメージを使用して、MN-Core 2 を 1 つ搭載した Pod を起動してください。
次のマニフェストをmanifest.yaml
として保存してください。
apiVersion: apps/v1
kind: Deployment
metadata:
name: mlsdk-tutorial
spec:
selector:
matchLabels:
app: mlsdk-tutorial
template:
metadata:
labels:
app: mlsdk-tutorial
spec:
containers:
- name: app
image: registry.pfcomputing.internal/mncore-sdk/mncore-sdk-full:latest
workingDir: /root
ports:
- containerPort: 8888
command: ["sleep", "infinity"]
resources:
limits:
# MN-Core 2 を複数利用する場合は "1" を "4" などに置き換えてください。
preferred.jp/mncore2: "1"
memory: 240Gi
requests:
memory: 80Gi
以下のコマンドで Deployment を作成し、Pod が起動するのを待ちます。
kubectl apply -f manifest.yaml
Pod が起動したら、以下のコマンドを実行すると、上で構成した Pod にアクセスできます。
kubectl exec -it deployment/mlsdk-tutorial -- /bin/bash
Pod が適切に構成されたら、次のコマンド gpfn3-smi list
を使用して、Pod 内の接続された MN-Core 2 を表示できます。
$ gpfn3-smi list
0: mnc2p28s0
数字「0」は Pod 内の MN-Core 2 デバイスのデバイスインデックスを表し、「mnc2」で始まる文字列は Pod 内のデバイス ID です。
何も表示されない場合は、Pod の構成に間違いがないかどうか再確認して、もう一度お試しください。
MLSDK チュートリアルを開始する
MLSDK で MN-Core を使用する (英語) を参照してチュートリアルを開始します。
MLSDK チュートリアルのドキュメントは、コンテナイメージ内部にも保持されています(/opt/pfn/pfcomp/codegen/MLSDK/README.md
)。
クリーンアップ
作成したリソースは、以下のコマンドで削除してください。
kubectl delete -f manifest.yaml