qamuyコマンド#

Qamuy Client SDKをインストールすると、qamuyコマンドが使用できるようになります。

Qamuy Client SDK バージョン確認#

Qamuy Client SDKのバージョンは、-V、または--versionオプションで確認できます。

$ qamuy -V
Qamuy Client SDK, version *.**.*

qamuy サブコマンド#

qamuyコマンドは、以下のサブコマンドを指定して使用します。

  • アカウント管理

    • login, logout: Qamuyにログイン・ログアウトする

    • reset-password: Qamuyのログインパスワードを再設定する

  • 計算ジョブの操作

    • run: Qamuyで計算ジョブを実行する

    • status: 計算ジョブの状況を表示する

    • result: 計算ジョブの結果を取得する

    • terminate: 計算ジョブを中止する

    • list: 計算ジョブの一覧を表示する

各サブコマンドの使用方法を以降の節で説明します。

使用例: Qamuyにログインし、計算を実行する

$ qamuy login
Email address: [ご登録のメールアドレスを入力]
Password: [設定されたパスワードを入力]
$ qamuy run input.json

qamuyコマンドに--helpオプションをつけて実行すると、コマンドの使い方の説明が表示されます。サブコマンドの使い方を調べるには、サブコマンドを指定した後に--helpオプションをつけてください。

$ qamuy --help
# 共通オプションおよびサブコマンドの簡単な説明が表示される
$ qamuy run --help
# runサブコマンドの説明が表示される

共通オプション#

任意のサブコマンド実行時に共通して指定できるオプションを以下に示します。この共通オプションは、qamuyとサブコマンドの間に指定します。

オプション#

  • --silent (-s): 警告・エラー以外のメッセージを出力しません

  • --debug (-d): 詳細なデバッグ用メッセージを出力します

使用例#

# 以下の2つは等価
$ qamuy --silent run input.json
$ qamuy -s run input.json

アカウント管理#

login: ログイン#

登録されているメールアドレスとパスワードを用いてQamuyにログインします。 一度ログインすれば、同じ端末では基本的にログイン状態が維持されます。

qamuy login [OPTIONS]

オプション#

  • --email-address (-e): メールアドレスを指定します

  • --password: パスワードを指定します

使用例#

メールアドレスとパスワードを対話的に入力する

$ qamuy login
Email address: [ご登録のメールアドレスを入力]
Password: [設定されたパスワードを入力]

メールアドレスとパスワードをオプションで指定する(コマンド入力の履歴にパスワードが残る場合があるので注意)

$ qamuy login -e [ご登録のメールアドレス] --password [設定されたパスワード]

logout: ログアウト#

Qamuyからログアウトします。

qamuy logout

使用例#

$ qamuy logout

reset-password: パスワードの再設定#

登録されているメールアドレスに、Qamuyのパスワードを再設定するためのメールを送信します。

qamuy reset-password [OPTIONS]

オプション#

  • --email-address (-e): メールアドレスを指定します

使用例#

メールアドレスを対話的に入力する

$ qamuy reset-password
Email address: [ご登録のメールアドレスを入力]

メールアドレスをオプションで指定する

$ qamuy reset-password -e [ご登録のメールアドレス]

ジョブの操作#

以下のサブコマンドでジョブの操作を行うことができます。

run: 計算ジョブを実行する#

Qamuyで計算ジョブを実行します。 デフォルトでは、計算ジョブが終了するまで待機し、計算結果を保存・出力します。 --submit-onlyオプションを指定した場合は、計算ジョブの完了を待たずコマンド終了します。

qamuy run [OPTIONS] INPUT

引数#

  • INPUT: 計算の入力ファイルを指定します。JSONまたはYAMLファイルを指定可能です。

オプション#

  • --output (-o): 計算結果を保存するファイルを指定します。指定しなかった場合は、計算結果は標準出力に表示されます

  • --output-format (-f): 計算結果の出力形式を指定します。jsonまたはyamlを指定できます。指定しなかった場合、保存するファイル名の末尾が.yamlまたは.ymlの場合はYAML、それ以外の場合はJSON形式が選択されます

  • --save-job (-j): ジョブ情報(ジョブIDなど)を保存するファイルを指定します。指定しなかった場合は、ジョブ情報は保存されません

  • --submit-only: 計算ジョブの開始後、計算ジョブの完了を待たずすぐにコマンド終了します。指定しなかった場合は、計算ジョブが終了するまで待機し、計算結果を保存・出力します。

  • --fcidump: ハミルトニアン生成に使うfcidumpファイルを指定します。指定しなかった場合は入力ファイルに従って計算が実行されます。 注:実験的機能であり、予告なく変更や廃止される可能性があります。

使用例#

入力ファイルにinput.yamlを指定し、計算結果を標準出力に表示する

$ qamuy run input.yaml
INFO     : Submitted a job
Job ID: JB01F7T0YJFJ78XC5NX350TKTMG9
Status: RUNNING
..

[計算結果]

計算結果をoutput.txtファイルにYAML形式で保存する

$ qamuy run -o output.txt -f yaml input.yaml
INFO     : Submitted a job
Job ID: JB01F7T0YJFJ78XC5NX350TKTMG9
Status: RUNNING
..

INFO     : Successfully saved the output to output.txt

ジョブ情報をjob.jsonファイルに保存し、計算ジョブの完了を待たずにコマンド終了する

$ qamuy run -j job.json --submit-only input.yaml
INFO     : Submitted a job
Job ID: JB01F7T0YJFJ78XC5NX350TKTMG9
Status: RUNNING

status: 計算ジョブの状況を表示する#

計算ジョブの状況を取得して表示します。引数でジョブIDを指定するか、または--job-fileオプションでジョブ情報ファイルを指定する必要があります。

qamuy status [OPTIONS] [JOB_ID]

引数#

  • JOB_ID: ジョブIDを指定します

オプション#

  • --job-file (-j): ジョブ情報を読み込むファイルを指定します。runサブコマンドの--save-jobオプションやPython SDKのsave_job()関数で保存したファイルを指定します

使用例#

ジョブIDを指定してジョブの状況を表示する

$ qamuy status JB01F7T0YJFJ78XC5NX350TKTMG9
Job ID: JB01F7T0YJFJ78XC5NX350TKTMG9
Status: SUCCESS

ジョブ情報ファイルを指定してジョブの状況を表示する

$ qamuy status -j job.json
Job ID: JB01F7T0YJFJ78XC5NX350TKTMG9
Status: SUCCESS

result: 計算ジョブの結果を取得する#

計算ジョブの結果を取得して保存・表示します。引数でジョブIDを指定するか、または--job-fileオプションでジョブ情報ファイルを指定する必要があります。 計算ジョブが実行中だった場合、デフォルトでは計算ジョブの完了を待たずコマンド終了します。 --wait-completeオプションを指定した場合は、計算ジョブの完了を待ち、結果を取得します。

qamuy result [OPTIONS] [JOB_ID]

引数#

  • JOB_ID: ジョブIDを指定します

オプション#

  • --job-file (-j): ジョブ情報を読み込むファイルを指定します。runサブコマンドの--save-jobオプションやPython SDKのsave_job()関数で保存したファイルを指定します

  • --output (-o): 計算結果を保存するファイルを指定します。指定しなかった場合は、計算結果は標準出力に表示されます

  • --output-format (-f): 計算結果の出力形式を指定します。jsonまたはyamlを指定できます。指定しなかった場合、保存するファイル名の末尾が.yamlまたは.ymlの場合はYAML、それ以外の場合はJSON形式が選択されます

  • --wait-complete (-w): 計算ジョブの完了を待って結果を取得します。指定しなかった場合は、計算ジョブが実行中であれば結果を取得せずコマンド終了します。

使用例#

ジョブIDを指定してジョブの結果を取得する(ジョブの完了を待たない)

$ qamuy result JB01F7T0YJFJ78XC5NX350TKTMG9
[計算結果]

ジョブ情報ファイルを指定してジョブの結果を取得し、output.txtファイルにYAML形式で保存する(ジョブの完了を待つ)

$ qamuy result -j job.json -o output.txt -f yaml -w
..

INFO     : Successfully saved the output to output.txt

terminate: 計算ジョブを中止する#

実行中の計算ジョブを中止し、ジョブの状況を表示します。すでにジョブが終了していた場合は、SUCCESSまたはFAILUREが表示されます。引数でジョブIDを指定するか、または--job-fileオプションでジョブ情報ファイルを指定する必要があります。

qamuy terminate [OPTIONS] [JOB_ID]

引数#

  • JOB_ID: ジョブIDを指定します

オプション#

  • --job-file (-j): ジョブ情報を読み込むファイルを指定します。runサブコマンドの--save-jobオプションやPython SDKのsave_job()関数で保存したファイルを指定します

使用例#

ジョブIDを指定してジョブを中止する

$ qamuy terminate JB01F7T0YJFJ78XC5NX350TKTMG9
Job ID: JB01F7T0YJFJ78XC5NX350TKTMG9
Status: TERMINATED

ジョブ情報ファイルを指定してジョブを中止する

$ qamuy terminate -j job.json
Job ID: JB01F7T0YJFJ78XC5NX350TKTMG9
Status: TERMINATED

list: 計算ジョブの一覧を表示する#

これまで実行した計算ジョブの情報を一覧表示します。ジョブID、ジョブの状態、計算開始時刻、経過時間などを確認できます。

qamuy list [OPTIONS]

オプション#

  • --job-status: 表示するジョブのステータスを指定します。指定できる値は以下の通りです。指定しない場合は、すべてのジョブを表示します。

    • RUNNING: 実行中

    • SUCCESS: 成功

    • FAILURE: 失敗

    • TERMINATED: 中止

使用例#

すべてのジョブを表示する

$ qamuy list
{
  "summary": [
    {
      "id": "JB01F9TNQJNFPJ54E3TS35EDPXWY",
      "status": "SUCCESS",
      "createdAt": "2021-07-05T06:29:48Z",
      "startedAt": "2021-07-05T06:30:01Z",
      "etime": "1h44m16s"
    },
    {
      "id": "JB01F9TVPXV2C6360BPQQP2AND4F",
      "status": "SUCCESS",
      "createdAt": "2021-07-05T08:14:18Z",
      "startedAt": "2021-07-05T08:14:23Z",
      "etime": "41m2s"
    }
  ]
}

成功したすべてのジョブを表示する

$ qamuy list --job-status SUCCESS
{
  "summary": [
    {
      "id": "JB01F9TNQJNFPJ54E3TS35EDPXWY",
      "status": "SUCCESS",
      "createdAt": "2021-07-05T06:29:48Z",
      "startedAt": "2021-07-05T06:30:01Z",
      "etime": "1h44m16s"
    },
    {
      "id": "JB01F9TVPXV2C6360BPQQP2AND4F",
      "status": "SUCCESS",
      "createdAt": "2021-07-05T08:14:18Z",
      "startedAt": "2021-07-05T08:14:23Z",
      "etime": "41m2s"
    }
  ]
}