# amdgpu-asm-tool **Repository Path**: feifei14119/amdgpu-asm-tool ## Basic Information - **Project Name**: amdgpu-asm-tool - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-13 - **Last Updated**: 2026-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # amdgpu-asm-tool — VS Code Extension --- ## 实现的功能 ### 1. llvm amdgpu 汇编语言语法着色 ### 2. AMDGPU HSA Code Object (.co) ELF 解析查看器 ### 3. 反汇编 .co 文件为 .asm 文件 ### 4. 将 .asm 文件汇编为 .co 文件 ### 5. AMDGPU 调试视图(asm kernel 寄存器与变量查看) ### 6. LDS 布局可视化(静态分析) ### 7. Global 布局可视化(静态分析) ### 前置依赖项 - 反汇编功能需要 `llvm-objdump`(安装 ROCm 后自带)。 - 编译功能需要依赖 `/opt/rocm/llvm/bin/clang++` (安装 ROCm 后自带)。 --- ## 开发调试 ### 0. 开发环境 安装 nvm ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash source ~/.bashrc ``` 安装 Node.js 20 的最新版本 ```bash nvm install 20 ``` 切换Node.js到v20版本 ```bash nvm use 20 ``` 安装vsce(如果ERR_SOCKET_TIMEOUT,因为网络问题,需要重复尝试多次) ```bash npm install -g @vscode/vsce ``` ### 1. 编译 ```bash cd vsext npm install npm run compile # 按 F5 在 VS Code Extension Host 中启动调试 ``` ### 2. 打包 ```bash cd vsext npx @vscode/vsce package # 生成 amdgpu-asm-tool-0.1.0.vsix ``` 或者 ```bash vsce package ``` ### 3. 安装 ```bash code --install-extension amdgpu-asm-tool-0.1.1.vsix ``` 也可以在 VS Code 中通过 **Extensions → ⋯ → Install from VSIX...** 手动选择 `.vsix` 文件安装。 ### 4. 监听模式(开发时自动重编译) ```bash npm run watch ``` --- ## 发布到 VS Code 扩展市场 (参考 https://rackar.github.io/vscode-ext-doccn/working-with-extensions/publish-extension.html) (参考 https://code.visualstudio.com/api/working-with-extensions/publishing-extension) (参考 https://vscode.js.cn/api/working-with-extensions/publishing-extension) ### 1. 创建 Azure DevOps 组织 VS Code 扩展市场基于 Azure DevOps 账号体系。 1. 打开 https://dev.azure.com 2. 用 Microsoft 账号登录(没有的话先注册一个) 3. 创建一个组织(Organization),例如 `feifei-dev` ### 2. 创建 Personal Access Token (PAT) 1. 在 Azure DevOps 右上角点击头像 → **Personal access tokens** 2. 点击 **New Token**,填写: - **Name**:随意,例如 `vsce-publish` - **Organization**:选 **All accessible organizations** - (忽略)**Scopes**:选 **Custom defined**,展开 **Marketplace**,勾选 **Manage** - **Scopes**:不选 **Custom defined** - **Expiration**:按需选择 3. 点击 **Create**,复制生成的 Token(只显示一次,务必保存好) ### 3. 创建发布者 (Publisher) 注意:需要开加速器,用于谷歌验证码(reCAPTCHA) 1. 打开 https://marketplace.visualstudio.com/manage 2. 用同一个 Microsoft 账号登录 3. 点击 **Create publisher**,填写: - **ID**:例如 `feifei14119`(需与 `package.json` 中的 `publisher` 字段一致) - **Display Name**:显示名称 4. 创建完成后,确保 `package.json` 中的 `publisher` 与此 ID 一致 ### 4. 登录 vsce 并发布 ```bash cd vsext # 登录(会提示输入上面的 PAT) npx @vscode/vsce login <你的publisher-id> # 发布 npx @vscode/vsce publish ``` 或者用 PAT 直接发布: ```bash npx @vscode/vsce publish -p ``` ### 5. 版本更新 后续更新版本时: ```bash # 自动递增版本号并发布 npx @vscode/vsce publish patch # 0.1.0 → 0.1.1 npx @vscode/vsce publish minor # 0.1.0 → 0.2.0 npx @vscode/vsce publish major # 0.1.0 → 1.0.0 ``` ### 6. 发布前检查清单 | 检查项 | 说明 | |--------|------| | `package.json` 中 `publisher` | 必须与市场上创建的 Publisher ID 一致 | | `package.json` 中 `name` | 扩展唯一标识,发布后不可更改 | | `package.json` 中 `repository` | 建议填写实际 Git 仓库地址 | | `README.md` | 会作为市场页面的扩展详情展示 | | `LICENSE` | 已有 | | 图标(可选) | 可添加 `"icon": "icon.png"` 到 `package.json`,建议 128×128 PNG | 发布后大约几分钟内即可在 VS Code 扩展市场搜索到。 Token 管理页面:https://dev.azure.com/feifei14119/_usersSettings/tokens publisher管理页面:https://marketplace.visualstudio.com/manage/publishers/feifei14119 ### 7. 登出 ```bash vsce logout feifei14119 ```