サブロウ丸

Sabrou-mal サブロウ丸

主にプログラミングと数学

2024-01-01から1年間の記事一覧

OpenMPIのコンパイル

MPI

本項ではOpenMPIの依存関係を含めてビルドを行う方法を OpenMPIの依存関係のグラフ Makefile 事前設定 依存関係のビルド libevent hwloc OpenPMIX PRRTE 通信ライブラリのビルド UCXのビルド UCCのビルド OpenMPI のビルド そのほか 事後処理 関連 参考 Open…

UCC(Unified Communication X)を使ってみる

UCCとは、集合通信操作APIであり、例えばOpenMPIから呼び出すことができます。 構成 OpenMPIから呼び出す どの通信レイヤ(Transport Layer)が使用されるか? 通信レイヤのスコア変更 参考 構成 ./src |-- coll_patterns ----- 集団通信パターンの実装(例:…

論文紹介: Congestion control in machine learning clusters (2022, Hot Topics in Networks)

紹介する論文 Rajasekaran, S., Ghobadi, M., Kumar, G., & Akella, A. (2022, November). Congestion control in machine learning clusters. In Proceedings of the 21st ACM Workshop on Hot Topics in Networks (pp. 235-242). まとめ モチベーション 先…

Compile error when compiling NCCL with debug mode.

I encountered the following error when I compiled NCCL project. /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o: in function `_init': (.init+0xb): relocation truncated to fit: R_X86_64_REX_GOTPCRELX against undefined symbo…

3D Parallelism

3D Parallelism の参考になる横田先生の資料。 https://fugaku100kei.jp/events/colloquium/doc/20240130_10th_colloquium_slides.pdf DeepSpeed https://www.deepspeed.ai/assets/files/DeepSpeed_Overview_Japanese_2023Jun7th.pdf

Nsight SystemsのMPIプログラムプロファイルがなかなか終了しない

MPI

nsys (NVIDIA Nsight Systems) Nsight Systems | NVIDIA Developer でMPIプログラムのプロファイルを取得する際に、MPIプログラムが終了したにも関わらずプロファイルの作成が終了しない場合。例えば下記の表示で止まっているときは、 The target applicatio…

Troubleshooting ImportError: cannot import name 'load_metric' from 'datasets'

from datasets import load_dataset, load_metric >>> ImportError: cannot import name 'load_metric' from 'datasets' について、datasetsのバージョン3.0.0のリリースノートにあるようにこのバージョンからload_metric がdatasets から取り除かれました、…

Test NCCL failure common.cu:1005 'unhandled cuda error (run with NCCL_DEBUG=INFO for details) ' .. pid 175547: Test failure common.cu:891

I encountered the following error when executing nccl-tests. tateiwa@snail01:/data/nccl-tests$ NCCL_DEBUG=INFO ./build/all_reduce_perf -g 2 # nThread 1 nGpus 2 minBytes 33554432 maxBytes 33554432 step: 1048576(bytes) warmup iters: 5 iters:…

Test NCCL failure common.cu:1005 'unhandled cuda error (run with NCCL_DEBUG=INFO for details) ' .. pid 175547: Test failure common.cu:891

nccl-testsを実行中に次のようなエラー。 tateiwa@snail01:/data/nccl-tests$ NCCL_DEBUG=INFO ./build/all_reduce_perf -g 2 # nThread 1 nGpus 2 minBytes 33554432 maxBytes 33554432 step: 1048576(bytes) warmup iters: 5 iters: 20 agg iters: 1 valid…

論文内容に関する指針

情報処理学会 latexテンプレート、情報処理学会論文誌ジャーナル論文の準備方法、に記載の論文内容に関する指針「べからず集」を引用。 5.1 書き方の基本 研究の新規性、有用性、信頼性を明確に記述し、読者に伝わるようにする。 読み手にとって読みやすい文…

How to fix: /dev/fd/12:2: command not found: compdef error

This post says that we can use the completion for the kubectl by executing echo "source <(kubectl completion zsh)" >> ~/.zshrc. However, in my environment, MacOS and zsh shell, I encountered the following error. /dev/fd/12:2: command not f…

Docker Swarmを活用したマルチサーバ、マルチコンテナ環境でのMPIプログラム実行

本稿では複数サーバー複数コンテナ環境でOpenmpi を実行する手順について紹介します。本稿ではコンテナ接続のネットワークとしてとしてDocker Swarmによるオーバーレイネットワークを利用します。 構築する環境 Docker Swarm: コンテナ間の通信確立 swarmの…

KeyError for from_pretrained in transformers

I encountered the following error while trying to execute the microsoft/phi-1 model in HuggingFace transformers module. Traceback (most recent call last): File "xxx.py", line 293, in <module> main(args) File "xxx.py", line 104, in main config = Au</module>…

huggingface transformers.Trainer で pytorch.autograd.profiler を使う

transformersのTrainerCallbackを継承してCallbackを作成しました。 次の関数を継承すれば、それぞれのイベントで実行されます。当然、一部のみ実装してもOK。 on_epoch_begin Event called at the beginning of an epoch. on_epoch_end Event called at the…

GPUにおけるカーネル

コンピューティングの文脈において「Kernel カーネル」には複数の意味があるが、CUDAやGPUプログラミングに関連して使用される場合は次のような意味を持つ。 GPUプログラミングにおけるカーネル GPUプログラミングにおいて「Kernel カーネル」とは、GPU上で…

apt-get のオプション

apt-get は Ubuntu や Debian などのディストリビューションで使用されるパッケージ管理ツール*1です。 以下は、apt-get installコマンドを使ってパッケージをインストールする際によく使われるオプションの一部です。(随時、追加予定) -y: --yesの省略形。…

Master mind in Rust; part 8 logging

今回やること log コード 参考 関連 前の記事: Master mind in Rust; part 6 ファイル分割とモジュール - Sabrou-mal サブロウ丸 次の記事: TBA 今回やること ログを出力する log Rustでは標準ライブラリにログを出力するためのlogというライブラリがあリま…

NetworkX: 'import networkx' fails: TypeError: entry_points() got an unexpected keyword argument 'group'

I encountered the following error in Python3.9 environment. NetworkX: 'import networkx' fails: TypeError: entry_points() got an unexpected keyword argument 'group' This error seems to be caused by the fact that NetworkX v3.3 does not suppo…

Master mind in Rust; part 7 HashMapとそれを用いたmin max policyの追加

今回やること minmax policy HashMap argument parserの更新 コード 参考 関連 前の記事: Master mind in Rust; part 6 ファイル分割とモジュール - Sabrou-mal サブロウ丸 次の記事: Master mind in Rust; part 8 logging - Sabrou-mal サブロウ丸 今回やる…

Master mind in Rust; part 6 ファイル分割とモジュール

今回やること モジュール化 コード 参考 関連 前の記事: master mind by rust; part 5 単体テスト - Sabrou-mal サブロウ丸 次の記事: master mind by rust; part 7 HashMapとそれを用いたmin max policyの追加 - Sabrou-mal サブロウ丸 今回やること ファイ…

Master mind in Rust; part 5 単体テスト

今回やること 単体テスト 関数に#[test]属性をつける #[cfg(test)]属性をつけたモジュールを作る コード 参考 関連 前の記事: Master mind in Rust; part 4 argument parser - Sabrou-mal サブロウ丸 次の記事: Master mind in Rust; part 6 ファイル分割と…

Master mind in Rust; part 4 argument parser

今回やること Clap Cargo.tomlの変更 parserの作成 コード列挙の作成 重複がない場合 重複がある場合 コード 参考 関連 前の記事: Master mind in Rust; part 3 型エイリアス - Sabrou-mal サブロウ丸 次の記事: master mind by rust; part 5 単体テスト - S…

Master mind in Rust; part 3 型エイリアス

今回やること 型エイリアス コード 関連 関連 前の記事: Master mind in Rust; part 2 Cargoビルドツール - Sabrou-mal サブロウ丸 次の記事: Master mind in Rust; part 4 argument parser - Sabrou-mal サブロウ丸 今回やること 型エイリアスを使って、コ…

Master mind in Rust; part 2 Cargoビルドツール

今回やること Cargo インストール プロジェクトの作成 まとめ コード 関連 前の記事: Master mind in Rust; part 1 - Sabrou-mal サブロウ丸 次の記事: master mind by rust; part 3 型エイリアス - Sabrou-mal サブロウ丸 今回やること Cargoビルドツールで…

Master mind in Rust; part 1

これからRustでmaster mindというボードゲームの実装をしていきます。以前C++で実装したもののRust版ですね。なるべく標準でシンプルな実装を目指します。C++版はこちら↓↓ master mind ( マスターマインド ) とは 実装 用語 全体の流れ 全体のコード policy …

Rust: 所有権

所有権と借用 ルール 例 借用 コピー OptionとResult型 Option型 Result型 Rustについての勉強ログ。 所有権と借用 RustはC/C++並みの高速化をもちながら、メモリ安全性を担保するように設計されたプログラミング言語です。C/C++ではユーザーがメモリ確保と…

master mind by C++ まとめ

レポジトリ 記事一覧

Summarize ibstat information of all servers in multi-node environment

ibstat command provides us detailed information about the InfiniBand adapter connected to the server. I'd like to share a script that outputs the ibstat information of all servers in a multi-node environment in CSV format. import subproces…

マルチノード環境においてibstat 情報をcsv形式にまとめる

ibstat はコンピュータに接続されている InfiniBand アダプタの詳しい情報を表示します。 マルチノード環境において全てのマシンのibstat情報をcsv形式で表示するスクリプトを共有します。 import subprocess import csv import sys username = "YOUR_USERNA…

gurobipy.GurobiError: Version number is 11.0, license is for version 10.0

I encountered the following error when attempting to run GUROBI via gurobipy interface. gurobipy.GurobiError: Version number is 11.0, license is for version 10.0 Resolved by: pip install gurobipy==10.0.3 In my environment, python installed…