cuda-webdoc-search

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

CUDA-X Documentation Search Guide

CUDA-X文档搜索指南

Overview

概述

Search and discover APIs across CUDA-X library documentation by querying Sphinx inventory files. Use this skill when you need to find specific CUDA library functions, check available APIs, or get documentation links.
通过查询Sphinx清单文件,搜索并发现CUDA-X库文档中的各类API。当你需要查找特定CUDA库函数、查看可用API或获取文档链接时,可使用该工具。

Setup

安装配置

bash
uv tool install "cuda-webdoc-search @ git+https://github.com/ultimatile/cuda-x-skills.git#subdirectory=skills/cuda-webdoc-search"
After installation,
cws
is available as a standalone command. For one-shot usage without installing:
bash
uvx --from "cuda-webdoc-search @ git+https://github.com/ultimatile/cuda-x-skills.git#subdirectory=skills/cuda-webdoc-search" cws search cublas --stats
bash
uv tool install "cuda-webdoc-search @ git+https://github.com/ultimatile/cuda-x-skills.git#subdirectory=skills/cuda-webdoc-search"
安装完成后,
cws
将作为独立命令可用。若无需安装即可一次性使用:
bash
uvx --from "cuda-webdoc-search @ git+https://github.com/ultimatile/cuda-x-skills.git#subdirectory=skills/cuda-webdoc-search" cws search cublas --stats

When to Use

使用场景

  • Finding CUDA library APIs (e.g., "what SVD functions does cuTensorNet have?")
  • Checking if a specific function exists in a library
  • Getting documentation URLs for CUDA APIs
  • Exploring available operations in a library
  • 查找CUDA库API(例如:“cuTensorNet有哪些SVD函数?”)
  • 检查某个特定函数是否存在于某库中
  • 获取CUDA API的文档URL
  • 探索库中的可用操作

Quick Reference

快速参考

Check Available Domains First

先查看可用领域

Before searching, check what domains (API types) are available:
bash
cws search <library> --stats
This returns domain counts:
cpp
(C++ APIs),
c
(C APIs),
py
(Python bindings),
std
(doc labels).
搜索前,先查看可用的领域(API类型):
bash
cws search <library> --stats
该命令会返回领域数量:
cpp
(C++ API)、
c
(C API)、
py
(Python绑定)、
std
(文档标签)。

Search for APIs

搜索API

bash
cws search <library> --domains <domain> --keywords "<terms>" --fuzzy --limit 20
bash
cws search <library> --domains <domain> --keywords "<terms>" --fuzzy --limit 20

Keyword Syntax (fzf subset)

关键字语法(fzf子集)

  • Space-separated terms are AND (all must match):
    --keywords "SVD batch"
  • Use
    |
    for OR (requires shell quoting):
    --keywords "SVD | QR"
  • AND binds tighter than OR:
    --keywords "a b | c"
    = (a AND b) OR c
  • Note: Only AND/OR via
    |
    is supported. fzf operators
    ^
    ,
    '
    ,
    !
    ,
    $
    are not available.
  • 空格分隔的术语表示AND(必须全部匹配):
    --keywords "SVD batch"
  • 使用
    |
    表示OR(需要shell引号包裹):
    --keywords "SVD | QR"
  • AND的优先级高于OR:
    --keywords "a b | c"
    = (a AND b) OR c
  • 注意:仅支持通过
    |
    实现AND/OR逻辑。fzf的
    ^
    '
    !
    $
    运算符暂不支持。

Available Libraries

可用库

See
registry.toml
for the full list. Common ones:
  • cuquantum
    - cuTensorNet, cuStateVec (quantum/tensor network)
  • cublas
    - BLAS operations
  • cusolver
    - Dense/sparse solvers
  • cusparse
    - Sparse matrix operations
  • cufft
    - FFT operations
  • cudnn
    - Deep learning primitives
  • cutlass
    - GEMM templates
  • cuda_math
    - Math functions
完整列表请查看
registry.toml
。常用库包括:
  • cuquantum
    - cuTensorNet、cuStateVec(量子/张量网络)
  • cublas
    - BLAS运算
  • cusolver
    - 稠密/稀疏求解器
  • cusparse
    - 稀疏矩阵运算
  • cufft
    - FFT运算
  • cudnn
    - 深度学习原语
  • cutlass
    - GEMM模板
  • cuda_math
    - 数学函数

Workflow

使用流程

  1. Identify the library: Determine which CUDA library likely contains the API
  2. Check domains: Run
    --stats
    to see available domain types
  3. Search: Use
    --keywords
    with
    --fuzzy
    for flexible matching
  4. Filter by domain: Use
    --domains cpp
    for C++ APIs,
    --domains c
    for C APIs
  5. Extract details: Use
    cws get
    to get full documentation content
  1. 确定库:判断哪个CUDA库可能包含所需API
  2. 查看领域:运行
    --stats
    查看可用领域类型
  3. 搜索:结合
    --keywords
    --fuzzy
    进行灵活匹配
  4. 按领域过滤:使用
    --domains cpp
    筛选C++ API,
    --domains c
    筛选C API
  5. 提取详情:使用
    cws get
    获取完整文档内容

Examples

使用示例

Find tensor decomposition APIs in cuTensorNet

在cuTensorNet中查找张量分解API

bash
cws search cuquantum --stats
bash
cws search cuquantum --stats

Shows: cpp:3179, py:1172, std:3378, c:4

输出:cpp:3179, py:1172, std:3378, c:4

cws search cuquantum --domains cpp --keywords "SVD" --fuzzy --limit 10
cws search cuquantum --domains cpp --keywords "SVD" --fuzzy --limit 10

Returns: cutensornetTensorSVD, etc. (functions ranked above enumerators)

返回:cutensornetTensorSVD等(函数排序优先于枚举器)

cws search cuquantum --domains cpp --keywords "SVD | QR" --fuzzy
cws search cuquantum --domains cpp --keywords "SVD | QR" --fuzzy

Returns: entries matching SVD OR QR

返回:匹配SVD或QR的条目

undefined
undefined

Search across multiple libraries

跨多个库搜索

bash
undefined
bash
undefined

"Where is SVD in CUDA-X?" — search cuSOLVER and cuDSS together

“SVD在CUDA-X的哪个库中?”——同时搜索cuSOLVER和cuDSS

cws search cusolver cudss --keywords "svd" --fuzzy --limit 10
cws search cusolver cudss --keywords "svd" --fuzzy --limit 10

Mix any number of sources

混合任意数量的源库

cws search cusolver cusparse cudss --keywords "solve" --fuzzy

Multi-source output uses `"sources"` (list) instead of `"source"` (string), and `"total_found"` becomes a per-source dict.
cws search cusolver cusparse cudss --keywords "solve" --fuzzy

多源输出会使用`sources`(列表)替代`source`(字符串),`total_found`会变为按源库统计的字典。

Find GEMM functions in cuBLAS

在cuBLAS中查找GEMM函数

bash
cws search cublas --stats
bash
cws search cublas --stats

Shows: std:36 (only doc labels, no cpp/c domain)

输出:std:36(仅包含文档标签,无cpp/c领域)

cws search cublas --domains std --keywords "gemm"
cws search cublas --domains std --keywords "gemm"

Returns: cublas-t-gemm, cublas-t-gemmex, etc. (doc section labels)

返回:cublas-t-gemm、cublas-t-gemmex等(文档章节标签)

undefined
undefined

Extract API documentation details

提取API文档详情

After finding a function URL, extract its full documentation:
bash
cws get <url> --section <function_name>
Example:
bash
cws get \
  "https://docs.nvidia.com/cuda/cuquantum/latest/cutensornet/api/functions.html" \
  --section "cutensornetTensorSVD"
Output is a brace-delimited text tree:
{
cutensornetTensorSVD
{
cutensornetStatus_t cutensornetTensorSVD {
const cutensornetHandle_t handle
const cutensornetTensorDescriptor_t descTensorIn
...
}
Performs SVD decomposition of a tensor. { ... }
Parameters { ... }
}
}
找到函数URL后,提取其完整文档:
bash
cws get <url> --section <function_name>
示例:
bash
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 { ... }
}
}

List available sources

列出可用源库

bash
cws list                     # table format
cws list --json              # JSON format
bash
cws list                     # 表格格式
cws list --json              # JSON格式

Audit registry health

检查注册表健康状态

bash
cws audit                    # audit all sources
cws audit --source cublas    # audit single source
bash
cws audit                    # 检查所有源库
cws audit --source cublas    # 检查单个源库

Output Format

输出格式

cws search

cws search

JSON output includes:
Single source:
  • source
    : Library name (string)
  • total_found
    : Total APIs in filtered domains
  • filtered_count
    : APIs matching keywords
  • candidates
    : List of matching APIs with
    group
    (name),
    url
    ,
    domain
    ,
    role
Multi-source (
cws search A B
):
  • sources
    : Library names (list)
  • total_found
    : Per-source totals (dict)
  • filtered_count
    : Total APIs matching keywords across all sources
  • candidates
    : Merged list (k-way merge by score if
    --fuzzy
    , else concatenated)
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
    则按得分排序,否则直接拼接)

cws get

cws get

Brace-delimited text tree where:
  • {
    }
    denote hierarchy
  • Text content is preserved
  • Inline elements (code, links) are flattened to text
Options:
  • --section <id>
    : Extract only a specific section
  • --main-only
    : Extract only the main content area
大括号分隔的文本树,其中:
  • {
    }
    表示层级结构
  • 文本内容保留原样
  • 内联元素(代码、链接)转为纯文本
可选参数:
  • --section <id>
    : 仅提取特定章节
  • --main-only
    : 仅提取主内容区域

Files

文件说明

  • cli.py
    - Unified CLI entry point (
    cws
    )
  • search.py
    - Search APIs across library inventories
  • audit.py
    - Audit registry entries for endpoint health
  • get.py
    - Extract documentation content as text tree
  • fetchers.py
    - Data fetching for Sphinx/Doxygen sources
  • scoring.py
    - Search ranking and filtering logic
  • registry.py
    - Registry loading utility
  • registry.toml
    - Library metadata (URLs, doc types)
  • cli.py
    - 统一CLI入口(
    cws
  • search.py
    - 跨库清单搜索API
  • audit.py
    - 检查注册表条目的端点健康状态
  • get.py
    - 提取文档内容为文本树
  • fetchers.py
    - Sphinx/Doxygen源的数据获取
  • scoring.py
    - 搜索排序与过滤逻辑
  • registry.py
    - 注册表加载工具
  • registry.toml
    - 库元数据(URL、文档类型)