cuda-webdoc-search について
CUDA-X ライブラリのAPIドキュメントを検索するコマンドラインツール兼スキルです。Sphinx inventory の検索、関数の有無の確認、ドキュメントの抽出に対応し、`cws` でライブラリ、APIドメイン、キーワードを指定できます。
主な機能
- 01CUDA-X APIの検索
- 02ライブラリとドメインによる絞り込み
- 03あいまいキーワード検索
- 04指定したドキュメント節の抽出
- 05ドキュメントソースの一覧と監査
活用シーン
- 01CUDAライブラリの特定関数を探す
- 02APIの有無を確認してURLを取得
- 03APIドキュメントの検索と抽出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ultimatile/ cuda-x-skills --skill cuda-webdoc-searchインストール後、Claude Code で/cuda-webdoc-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
audit.pycli.pyfetchers.pyget.pyMakefilepyproject.tomlpyrightconfig.jsonREADME.mdregistry.pyregistry.tomlscoring.pysearch.pyreferences/registry_schema.mdtests/conftest.pytest_registry_audit.pytest_registry.pytest_search.pytest_structure_extractor.py詳細
CUDA-X ドキュメント検索ガイド
概要
Sphinx インベントリファイルを検索して、CUDA-X ライブラリのドキュメント全体から API を検索・確認できます。CUDA ライブラリの特定の関数を探したり、利用可能な API を確認したり、ドキュメントへのリンクを取得したりする場合に、このスキルを使用します。
セットアップ
uv tool install "cuda-webdoc-search @ git+https://github.com/ultimatile/cuda-x-skills.git#subdirectory=skills/cuda-webdoc-search"
インストール後は、スタンドアロンコマンドとして cws を利用できます。インストールせずに一度だけ使用する場合は、次のようにします。
uvx --from "cuda-webdoc-search @ git+https://github.com/ultimatile/cuda-x-skills.git#subdirectory=skills/cuda-webdoc-search" cws search cublas --stats
使用する場面
- CUDA ライブラリの API を探す(例:「cuTensorNet にはどのような SVD 関数がありますか?」)
- 特定の関数がライブラリに存在するか確認する
- CUDA API のドキュメント URL を取得する
- ライブラリで利用可能な操作を調べる
クイックリファレンス
まず利用可能なドメインを確認する
検索する前に、利用可能なドメイン(API の種類)を確認します。
cws search <library> --stats
ドメインごとの件数が返されます。cpp(C++ API)、c(C API)、py(Python バインディング)、std(ドキュメントラベル)です。
API を検索する
cws search <library> --domains <domain> --keywords "<terms>" --fuzzy --limit 20
キーワード構文(fzf のサブセット)
- スペース区切りの語句は AND です(すべて一致する必要があります):
--keywords "SVD batch" - OR には
|を使用します(シェルでの引用が必要です):--keywords "SVD | QR" - AND は OR より優先されます:
--keywords "a b | c"= (a AND b) OR c - 注:サポートされるのは
|による AND/OR のみです。fzf の演算子^、'、!、$は利用できません。
利用可能なライブラリ
一覧については registry.toml を参照してください。主なライブラリは次のとおりです。
cuquantum- cuTensorNet、cuStateVec(量子/テンソルネットワーク)cublas- BLAS 操作cusolver- 密行列/疎行列ソルバーcusparse- 疎行列操作cufft- FFT 操作cudnn- ディープラーニングの基本機能cutlass- GEMM テンプレートcuda_math- 数学関数
ワークフロー
- ライブラリを特定する:API が含まれている可能性の高い CUDA ライブラリを判断します
- ドメインを確認する:
--statsを実行して、利用可能なドメインの種類を確認します - 検索する:柔軟に一致させるには、
--fuzzyとともに--keywordsを使用します - ドメインで絞り込む:C++ API には
--domains cpp、C API には--domains cを使用します - 詳細を抽出する:
cws getを使用して、ドキュメントの全文を取得します
例
cuTensorNet のテンソル分解 API を探す
cws search cuquantum --stats
# Shows: cpp:3179, py:1172, std:3378, c:4
cws search cuquantum --domains cpp --keywords "SVD" --fuzzy --limit 10
# Returns: cutensornetTensorSVD, etc. (functions ranked above enumerators)
cws search cuquantum --domains cpp --keywords "SVD | QR" --fuzzy
# Returns: entries matching SVD OR QR
複数のライブラリを横断して検索する
# "Where is SVD in CUDA-X?" — search cuSOLVER and cuDSS together
cws search cusolver cudss --keywords "svd" --fuzzy --limit 10
# Mix any number of sources
cws search cusolver cusparse cudss --keywords "solve" --fuzzy
複数ソースの出力では、"source"(文字列)の代わりに "sources"(リスト)が使用され、"total_found" はソースごとの辞書になります。
cuBLAS の GEMM 関数を探す
cws search cublas --stats
# Shows: std:36 (only doc labels, no cpp/c domain)
cws search cublas --domains std --keywords "gemm"
# Returns: cublas-t-gemm, cublas-t-gemmex, etc. (doc section labels)
API ドキュメントの詳細を抽出する
関数の URL を見つけたら、ドキュメントの全文を抽出します。
cws get <url> --section <function_name>
例:
cws get \
"https://docs.nvidia.com/cuda/cuquantum/latest/cutensornet/api/functions.html" \
--section "cutensornetTensorSVD"
出力は波括弧で区切られたテキストツリーです。
{
cutensornetTensorSVD
{
cutensornetStatus_t cutensornetTensorSVD {
const cutensornetHandle_t handle
const cutensornetTensorDescriptor_t descTensorIn
...
}
Performs SVD decomposition of a tensor. { ... }
Parameters { ... }
}
}
利用可能なソースを一覧表示する
cws list # table format
cws list --json # JSON format
レジストリの健全性を監査する
cws audit # audit all sources
cws audit --source cublas # audit single source
出力形式
cws search
JSON 出力には次の項目が含まれます。
単一ソース:
source:ライブラリ名(文字列)total_found:絞り込まれたドメイン内の API の総数filtered_count:キーワードに一致した API の数candidates:一致した API のリスト。group(名前)、url、domain、roleを含みます
複数ソース(cws search A B):
sources:ライブラリ名(リスト)total_found:ソースごとの合計(辞書)filtered_count:全ソースでキーワードに一致した API の合計数candidates:統合されたリスト(--fuzzyの場合はスコア順の k-way マージ、それ以外の場合は連結)
cws get
波括弧で区切られたテキストツリーです。次のような形式になります。
{}は階層を示します- テキストの内容はそのまま保持されます
- インライン要素(コード、リンク)はテキストに平坦化されます
オプション:
--section <id>:特定のセクションのみを抽出します--main-only:メインコンテンツ領域のみを抽出します
ファイル
cli.py- 統合 CLI エントリーポイント(cws)search.py- ライブラリのインベントリ全体から API を検索audit.py- エンドポイントの健全性を確認するためにレジストリエントリーを監査get.py- ドキュメントの内容をテキストツリーとして抽出fetchers.py- Sphinx/Doxygen ソースのデータ取得scoring.py- 検索のランキングおよびフィルタリングロジックregistry.py- レジストリ読み込みユーティリティregistry.toml- ライブラリのメタデータ(URL、ドキュメントの種類)