本当は怖いHPC

HPC屋の趣味&実益ブログ

UCX

UCXを試す日記(10):バグ報告をした

自分でプログラムを書いていてハマったのでTwitterに(日本語で)グチグチ書いていたところ、中の人(たぶんORNL)の人から「バグ報告しなよ」と背中を押してもらいました。 UCXで簡単なsend/recvができるコード書いていろいろ試しているけど、ib/rc はちゃ…

UCXを試す日記(9):allreduceを実装する上での予備調査

とりあえず、UCXで実用(?)コードを書いてみようということで、Allreduceを書いてみようと思っています。Allreduceは、ディープラーニングにおいては重要な通信パターンで、業務においても研究したことがあるので経験があります(これについては、近々会社…

UCXを試す日記(8)

UCX

(追記:完全にグダグダなただの日記なので、タイトルに「日記」と付け足しました) ここまで、UCXのディストリビューションに含まれている uct_hello_world.c を自作C++ラッパーに移植するという目標で勉強をしてきたのですが、C++ラッパーの実装の方針を大…

UCXを試す(7)

UCX

勉強がてら作成中の UCXのC++ラッパーをGithubに上げました。たぶんライブラリ関数の網羅率は5%くらいだしUCXの使い方をほとんどわかっていないので、あえてREADMEも何も書いていません。少しずつ機能を試して実装しながらライブラリとしての形を整えてい…

UCXを試す(6)

UCX

https://gist.github.com/keisukefukuda/69e93074f6fc46a55267efeaca2ca093 AM_SHORT というタイプのメッセージを、IBで送信する簡易プログラムがやっと動きました。他には、bcopy と zcopy があるので、次はこれを動かします。 AMというのはActive message…

UCXを試す(5.5)

UCX

メモ書き。 うーん、examples/hello_world.c を参考に、mlx4_0:1デバイスで最小限の am_short (short active message)を送信するプログラムを書いているのですが、これが動かない… hello_world は同じ条件で動作しているので、自分のプログラムの何かがおか…

UCXを試す(5)

UCX

←前回 uct_iface_attr_t の、capabilityに関する値を見ていきます。 ソース: https://gist.github.com/keisukefukuda/153ec198cf234f0f5b3a43a044523e3a 出力: Using rc/mlx4_0:1 ib/mlx4_0 component name: ib max alloc: 18446744073709551615 (17179869…

UCXを試す(4)

UCX

←前回 次回→ 引き続き、 uct_hello_world.c をC++に写経しながら、次はインターフェースのopen(uct_iface_open)と、属性取得(uct_iface_attr_t)をしてみます。 https://gist.github.com/keisukefukuda/63cdd3516bec21437be973b845b2d476 (前回と同じ部分…

UCXを試すメモ(3)

UCX

uct_md_query() 関数を使って、Memory DomainのAttributesを取ってみました。 https://gist.github.com/keisukefukuda/cf55bf8aaf9f343f529c25ff46487ce0 Resources: self component name: self max alloc: 0 (0[GiB]) max reg: 18446744073709551615 (17179…

UCXを試すメモ(2)

UCX

test/examples/uct_hello_world.c を参考にして、まずは Memory Domain, Device, Transport Layer の一覧を取得するコードを書いてみます。 https://gist.github.com/keisukefukuda/bfa28464b10d36ae2321b22db73f7b38 通信のためのデバイス/ハードウェアは…

UCXを試すメモ(1)

UCX

最近、ネットワークライブラリのUCXを試しています。 GitHub - openucx/ucx: Unified Communication X (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group): ドキュメントを生成 まずはドキュメントをビルドするために、手元のMacにリポジ…

【広告】