Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

qcmd

京都大学スーパーコンピュータシステム用の便利なジョブ実行ラッパーツール

概要

qcmdは、京都大学のスーパーコンピュータシステムでSlurmを使った計算を手軽に実行するためのラッパーツールです。通常であればバッチスクリプトを書く必要がある処理を、コマンドライン引数として直接指定して実行できます。

特徴

  • 簡単なジョブ実行: バッチスクリプトを書かずにコマンドを直接実行
  • 柔軟なリソース指定: プロセス数、コア数、メモリ量、実行時間などを環境変数で指定
  • 京大スパコン対応: 京都大学のカスタムSlurm環境に最適化

インストール

1. スクリプトのダウンロードと設置

# ツール用ディレクトリを作成
mkdir -p ~/tools && cd ~/tools

# qcmd.shをダウンロード
wget https://raw.githubusercontent.com/shudolab/qcmd/refs/heads/main/qcmd.sh

# 実行権限を付与
chmod a+x qcmd.sh

# binディレクトリにシンボリックリンクを作成
mkdir -p ~/bin && ln -s ~/tools/qcmd.sh ~/bin/qcmd

2. PATHの設定

~/.bash_profileに以下を追加(既にない場合):

# Set PATH for user bin
if [ -d "$HOME/bin" ] ; then
    export PATH="$HOME/bin:$PATH"
fi

3. 動作確認

SSHログインし直してから以下を実行:

qcmd

以下のような使用方法が表示されれば成功です:

Usage: [Q=QueueName] [ [P=NProcs] [C=NCpus] [M=Memory (GB)] | [G=NGpus] ] [W=WallTime (hour)] [J=JobName] [O=LogDir] bash qcmd [-I|command]

4. 推奨設定

使用するシステムが決まっている場合は、使用するキューを事前に設定しておくと便利です:

# 自分が使えるキューを確認
spartition

# ~/.bash_profileに追加(例)
export Q=gr20100b

使用方法

基本的な使い方

# 簡単なコマンド実行
Q=gr20100b J='showHostname' qcmd hostname

# リソースを指定した実行
Q=gr20100b C=4 M=20 W=24 qcmd your_command

# パイプやリダイレクトを含む処理
Q=gr20100b qcmd 'ls > test.txt'

オプション一覧

オプション 説明 デフォルト値
Q ジョブを投入するキュー(パーティション)名 pa, pb, pc etc.
P プロセス数 1
C プロセスあたりのコア数 1
M プロセスあたりのメモリ量(GB) 3GB
G GPU数(システムGでのみ) -
W 実行時間の上限(hour) -
J ジョブ名 -
O ログファイル出力ディレクトリ -

使用例

# 4並列、メモリ20GB、実行時間24時間でプログラム実行
Q=gr20100b C=4 M=20 W=24 qcmd ./my_program

# GPU使用ジョブ
Q=gr20100g G=1 qcmd python gpu_script.py

# ログディレクトリを指定
Q=gr20100b O=logs J=my_job qcmd simulation.exe

京大スパコンシステム対応

このツールは京都大学の以下のシステムで動作します:

  • システムA: ノード数が多く、メモリバンド幅が広い
  • システムB: メモリとCPUのバランスが良い構成
  • システムC: 大容量メモリ(2TB)
  • システムG: GPU搭載システム

各システムでキュー名が異なるため、spartitionコマンドで利用可能なキューを確認してください。

注意事項

  • スペースを含むパスをコマンドに使用すると正常に動作しない可能性があります
  • qcmdはハイパースレッディング非対応です
  • GPU使用時(G指定)は、P, T, C, Mの指定は無視され、自動的にGに合わせた値が設定されます

関連リンク

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages