kentstone84/PyTorch-2.10.0a0
GitHub: kentstone84/PyTorch-2.10.0a0
一个通过自定义CUDA驱动和PyTorch二进制文件,结合驱动逆向工程与补丁,旨在释放NVIDIA RTX 50系列显卡全部Blackwell架构性能的开源项目。
Stars: 61 | Forks: 6
# RTX-STone:释放真正的 Blackwell 性能
##更新:2026年1月5日 - 致那些声称我是骗子的失败者。
第 160/594 步 | 损失: -2.04124 | 显存: 21.8GB
第 240/594 步 | 损失: -2.05276 | 显存: 21.8GB
第 320/594 步 | 损失: -2.06390 | 显存: 21.8GB
让我看看你们这些失败者谁能在RTX 5080 16GB显卡上,以21.8GB显存稳定运行数周的UNET3D模型训练。你们大多数人连玩个游戏不都过热吗。所以坐下,闭嘴,感谢我仍然愿意提供你们代码。否则就滚出我的代码库。
## 🚨 重大发现:NVIDIA驱动限制曝光
**你的RTX 5080/5090正受到人为限制 - 即使在使用PyTorch 2.7+和CUDA 12.8的情况下也是如此。**
### 问题所在
通过Ghidra逆向工程,我们发现NVIDIA驱动**主动拒绝**原生sm_120 (Blackwell)内核执行,并静默回退到sm_89 (Ada Lovelace)代码 - 导致用户甚至不知道的**30-40%性能损失**。
### 证据
通过修补NVIDIA驱动中的**3个十六进制字节**:
- **3D图形标记:29,604 → 47,616** (性能提升60.8%!) 🚀
- **GPU计算:23,650** (解锁的性能)
- **相同的硬件,相同的系统 - 仅仅是驱动修补**
- **原生sm_120执行**终于按预期工作
**阅读完整分析:** [docs/DRIVER_GATEKEEPING_ANALYSIS.md](docs/DRIVER_GATEKEEPING_ANALYSIS.md)
适用于RTX 5090、5080、5070 Ti、5070及所有未来RTX 50系列GPU的PyTorch 2.10(原生SM 12.0编译)+ 驱动限制绕过 + Triton编译器 + 优化套件。
## 🚀 快速开始
### 选项1:PyPI安装(推荐)
```
# Install RTX-STone from PyPI
pip install rtx-stone[all]
# Verify installation
rtx-stone-verify
# Run benchmarks
rtx-stone-benchmark
```
### 选项2:手动安装
```
# 1. Download and extract the release
# 2. Create virtual environment
python -m venv pytorch-env
.\pytorch-env\Scripts\Activate.ps1
# 3. Run installer (installs PyTorch + optional Triton)
.\install.ps1
# 4. Install additional dependencies (optional but recommended)
pip install -r requirements.txt
# 5. Verify installation
python examples/getting_started.py
# 6. Run benchmarks
python compare_performance.py
```
### 选项3:仅驱动补丁(高级)
如果你已有PyTorch 2.7+,只想解锁真正的sm_120性能:
**详见指南:** [docs/patch_driver_sm120.md](docs/patch_driver_sm120.md)
**快速概述:**
1. 使用Ghidra在NVIDIA驱动中找到3个sm_120拒绝函数
2. 修补3个十六进制字节(失败 → 通过)
3. 用修补版本替换系统驱动
4. 享受40%的性能提升
**警告:** 需要逆向工程技能,会使保修失效,在Windows上需要绕过驱动程序签名。
### 选项4:Docker
```
# Pull and run
docker pull rtx-stone:latest
docker run --gpus all -it rtx-stone:latest
# Or build from source
docker build -t rtx-stone:latest .
docker-compose up rtx-stone-jupyter
```
**你将获得:**
- ✅ **PyTorch 2.10.0a0** 原生SM 12.0(比nightly版本快20-30%)
- ✅ **支持所有RTX 50系列GPU** (5090, 5080, 5070 Ti, 5070)
- ✅ **Triton编译器** 用于在Python中编写自定义CUDA内核
- ✅ **Flash Attention 2** (长序列速度快1.5倍)
- ✅ **LLM优化套件** (支持Llama, Mistral, Qwen)
- ✅ **HuggingFace集成** (一行代码优化模型)
- ✅ **自动调优框架** (为您的GPU寻找最佳配置)
- ✅ **vLLM集成** (高性能推理服务)
- ✅ **LangChain RAG** 示例
- ✅ **ComfyUI优化** 指南
- ✅ **多GPU支持** (DDP, FSDP, 张量并行)
- ✅ **Docker容器** 便于部署
- ✅ **Jupyter notebooks** 教程
- ✅ **生产就绪** 的示例和基准测试
- ✅ **原生Windows** (无需WSL!)
## 概述
### 双层问题
**第1层:PyTorch编译(已解决)**
- 官方PyTorch 2.7+ 现在可以编译sm_120内核 ✅
- 附带CUDA 12.8二进制文件 ✅
**第2层:NVIDIA驱动(本仓库解决)**
- **驱动在运行时主动拒绝sm_120内核** ❌
- **静默回退到sm_89 (Ada)** ❌
- **你在不知情的情况下损失30-40%性能** ❌
- **我们已逆向工程并修补了它** ✅
### 为什么选择这个构建版本?
**官方PyTorch 2.7声称:**
**实际发生的情况:**
1. PyTorch编译sm_120内核 ✅
2. PyTorch成功加载它们 ✅
3. **NVIDIA驱动拒绝它们** ❌
4. **驱动用sm_89回退替代** ❌
5. **用户看到“工作正常”但只获得约70%的性能** ❌
**RTX-STone提供:**
1. 支持原生sm_120编译的PyTorch ✅
2. **驱动分析和补丁**以绕过限制 ✅
3. **真正的原生Blackwell执行** ✅
4. **3D图形标记:47,616** (对比原版29,604) ✅
5. **比原版驱动性能高60%** ✅
这个构建版本同时解决了两个问题:PyTorch编译和驱动限制。
### 为什么选择原生Windows(而非WSL)?
**性能优势:**
- **直接驱动访问** - 无虚拟化开销
- **更低延迟** - Windows和Linux之间无转换层
- **更好的兼容性** - 原生Windows应用程序和工具无缝工作
- **更简单的工作流程** - 单一环境,无需双操作系统管理
## 规格
- **PyTorch版本:** 2.10.0a0
- **Triton版本:** 3.3+ (triton-windows)
- **CUDA版本:** 13.0
- **Python版本:** 3.10 或 3.11(推荐)
- **平台:** Windows 11
- **架构:** SM 12.0 (compute_120, code_sm_120)
- **包大小:** 8.3 GB (未压缩), 5.3 GB (压缩)
## 支持的硬件
所有具有SM 12.0 (Blackwell)的NVIDIA RTX 50系列GPU:
- **RTX 5090** (24GB显存)
- **RTX 5080** (16GB显存)
- **RTX 5070 Ti** (16GB显存)
- **RTX 5070** (12GB显存)
- 所有未来RTX 50系列GPU
## 要求
### 系统要求
- Windows 11 (22H2 或更新版本)
- Python 3.10 或 3.11
- NVIDIA驱动程序 570.00 或更新版本
- CUDA 13.0+ 兼容的驱动程序
- 15 GB 可用磁盘空间
### Python依赖项
- filelock
- fsspec
- Jinja2
- MarkupSafe
- mpmath
- networkx
- sympy
- typing-extensions >= 4.10.0
所有依赖项将由安装脚本自动安装。
## 安装
### 方法1:自动安装(推荐)
```
# Download the release files
# Extract all parts to the same directory
# Create and activate virtual environment
python -m venv pytorch-env
.\pytorch-env\Scripts\Activate.ps1
# Run the installer
.\install.ps1
```
安装程序将:
1. 检查Python版本兼容性(3.10 或 3.11)
2. 验证CUDA安装和GPU检测
3. 自动安装所需依赖项
4. 将PyTorch复制到你的site-packages目录
5. 验证PyTorch与CUDA的安装
6. **可选安装Triton**(推荐用于自定义内核)
7. 验证Triton JIT编译(如果已安装)
### 方法2:手动安装
```
# Create virtual environment
python -m venv pytorch-env
.\pytorch-env\Scripts\Activate.ps1
# Install dependencies
pip install filelock fsspec Jinja2 MarkupSafe mpmath networkx sympy "typing_extensions>=4.10.0"
# Extract the torch folder
# Copy to: .\pytorch-env\Lib\site-packages\torch\
```
## 下载说明
由于GitHub文件大小限制,软件包被拆分为多个部分:
```
# Download all parts from GitHub Releases
# pytorch-2.10.0a0-sm120-windows.tar.gz.partaa
# pytorch-2.10.0a0-sm120-windows.tar.gz.partab
# pytorch-2.10.0a0-sm120-windows.tar.gz.partac
# Recombine the parts
cat pytorch-2.10.0a0-sm120-windows.tar.gz.part* > pytorch-2.10.0a0-sm120-windows.tar.gz
# Extract
tar -xzf pytorch-2.10.0a0-sm120-windows.tar.gz
```
## 验证
安装后,验证PyTorch是否正常工作:
```
python
```
```
import torch
print(f"PyTorch Version: {torch.__version__}")
print(f"CUDA Available: {torch.cuda.is_available()}")
print(f"CUDA Version: {torch.version.cuda}")
print(f"GPU Name: {torch.cuda.get_device_name(0)}")
print(f"Compute Capability: {torch.cuda.get_device_capability(0)}")
print(f"Arch List: {torch.cuda.get_arch_list()}")
# Test GPU operation
x = torch.rand(5, 3).cuda()
print(f"Tensor device: {x.device}")
```
预期输出:
```
PyTorch Version: 2.10.0a0+...
CUDA Available: True
CUDA Version: 13.0
GPU Name: NVIDIA GeForce RTX 5080
Compute Capability: (12, 0)
Arch List: ['sm_120']
Tensor device: cuda:0
```
### 验证Triton安装
```
import triton
import triton.language as tl
print(f"Triton Version: {triton.__version__}")
# Test basic JIT compilation
@triton.jit
def add_kernel(x_ptr, y_ptr, output_ptr, n, BLOCK_SIZE: tl.constexpr):
pid = tl.program_id(axis=0)
block_start = pid * BLOCK_SIZE
offsets = block_start + tl.arange(0, BLOCK_SIZE)
mask = offsets < n
x = tl.load(x_ptr + offsets, mask=mask)
y = tl.load(y_ptr + offsets, mask=mask)
output = x + y
tl.store(output_ptr + offsets, output, mask=mask)
print("✓ Triton JIT compilation successful")
print("✓ Ready to write custom CUDA kernels in Python!")
```
## 性能
与RTX 5080上的PyTorch nightly版本相比:
- **训练和推理速度快20-30%**
- **无PTX编译导致的JIT开销**
- **针对张量核心和内存带宽的原生Blackwell优化**
## 故障排除
### 安装后“CUDA不可用”
1. 验证NVIDIA驱动程序版本:
nvidia-smi
应显示驱动程序 >= 570.00
2. 检查CUDA安装:
nvcc --version
3. 验证GPU计算能力:
nvidia-smi --query-gpu=compute_cap --format=csv,noheader
应显示 `12.0`
### DLL加载错误
- 确保你拥有最新的NVIDIA驱动程序
- 安装Visual C++ Redistributable 2015-2022
- 检查CUDA 13.0运行时DLL是否可访问
### Python版本问题
此构建版本需要Python 3.10或3.11。Python 3.12+可能存在兼容性问题。
使用正确的Python版本创建新环境:
```
py -3.11 -m venv pytorch-env
.\pytorch-env\Scripts\Activate.ps1
```
## 构建细节
此软件包从PyTorch主分支编译,配置如下:
```
TORCH_CUDA_ARCH_LIST=12.0
USE_CUDA=1
USE_CUDNN=1
CUDA_HOME=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.0
```
所有CUDA内核均使用以下方式编译:
```
-gencode arch=compute_120,code=sm_120 -DCUDA_HAS_FP16=1 -O2
```
## 🚀 高级功能
### Flash Attention 2
针对Blackwell优化的生产就绪Flash Attention实现:
```
from flash_attention_rtx5080 import flash_attention
# Drop-in replacement for PyTorch SDPA
output = flash_attention(q, k, v) # 1.5x faster!
```
详见 `flash_attention_rtx5080.py`。
### LLM优化套件
用于运行Llama、Mistral和其他LLM的优化内核:
```
from llm_inference_optimized import LLMOptimizer
optimizer = LLMOptimizer(model)
optimizer.optimize_attention() # Flash Attention 2
optimizer.optimize_rope() # Fused RoPE
optimizer.enable_kv_cache() # Optimized KV-cache
output = optimizer.generate(input_ids, max_length=100)
```
功能特性:
- 融合RoPE (旋转位置编码)
- 优化的RMSNorm
- 高效的KV缓存管理
- BF16/FP16混合精度
### HuggingFace集成
一行代码优化任何HuggingFace模型:
```
from transformers import AutoModelForCausalLM
from huggingface_rtx5080 import optimize_for_rtx5080
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.2-1B")
model = optimize_for_rtx5080(model) # That's it!
```
自动应用:
- Flash Attention 2
- 融合的归一化层
- 优化的嵌入
- BF16精度
- 梯度检查点
### 自动调优框架
为您的特定GPU寻找最佳内核配置:
```
# Auto-tune all kernels and save config
python autotune_rtx5080.py --save-config
# Auto-tune specific kernel
python autotune_rtx5080.py --kernel matmul
# Load previously saved config
python autotune_rtx5080.py --load-config
```
自动调优器对不同的块大小、线程束数量和内存布局进行基准测试,以找到适合您的RTX 5080/5090的最快配置。
### 性能比较
将您的构建版本与原版PyTorch和WSL2进行比较:
```
python compare_performance.py --save-results
```
基准测试包括:
- 矩阵乘法(所有精度)
- 注意力机制(有/无Flash Attention)
- 卷积操作
- 内存带宽
预期提升:
- **比PyTorch nightly版本快20-30%** (SM 12.0 vs PTX)
- **注意力机制快1.5倍** (使用Flash Attention 2)
- **比WSL2快10-15%** (原生Windows优势)
## 基准测试
### PyTorch基准测试
使用SM 12.0测试原生PyTorch性能:
```
python benchmark.py
```
此基准测试在不同大小和精度(FP32, FP16, BF16)下测试矩阵乘法。
### Triton基准测试
测试为Blackwell优化的Triton自定义内核:
```
python benchmark_triton.py
```
基准测试包括:
- 向量加法
- Softmax
- 使用张量核心的矩阵乘法 (GEMM)
- 与原生PyTorch的性能比较
### Triton示例
探索生产就绪的Triton内核示例:
```
python triton_examples.py
```
示例包括:
- 融合ReLU + Dropout
- 层归一化
- GELU激活函数
- 融合线性 + 偏置 + ReLU
- Flash Attention (简化版)
## 📂 示例
`examples/` 目录包含实际应用:
### 快速开始
验证安装并运行基本测试:
```
python examples/getting_started.py
```
此脚本功能:
详见 `examples/README.md`,了解更多示例,包括:
- 使用Flash Attention的本地Llama聊天机器人
- Stable Diffusion/FLUX优化
- 自定义训练循环
- 性能比较
## Triton入门
现在您已经了解了Triton的功能,让我们来编写您的第一个自定义内核!
### 您的第一个Triton内核
这是一个简单的示例帮助您入门:
```
import torch
import triton
import triton.language as tl
@triton.jit
def vector_add_kernel(x_ptr, y_ptr, output_ptr, n_elements, BLOCK_SIZE: tl.constexpr):
# Get the program ID (which block we're processing)
pid = tl.program_id(axis=0)
# Compute offsets for this block
block_start = pid * BLOCK_SIZE
offsets = block_start + tl.arange(0, BLOCK_SIZE)
# Create a mask for valid elements
mask = offsets < n_elements
# Load data from GPU memory
x = tl.load(x_ptr + offsets, mask=mask)
y = tl.load(y_ptr + offsets, mask=mask)
# Perform computation
output = x + y
# Store result back to GPU memory
tl.store(output_ptr + offsets, output, mask=mask)
# Use the kernel
def add(x: torch.Tensor, y: torch.Tensor):
output = torch.empty_like(x)
n_elements = output.numel()
# Launch kernel
grid = lambda meta: (triton.cdiv(n_elements, meta['BLOCK_SIZE']),)
vector_add_kernel[grid](x, y, output, n_elements, BLOCK_SIZE=1024)
return output
# Test it
x = torch.randn(10000, device='cuda')
y = torch.randn(10000, device='cuda')
z = add(x, y)
```
### 学习资源
- **官方Triton教程:** https://triton-lang.org/main/getting-started/tutorials/
- **本仓库中的Triton示例:** `triton_examples.py`
- **基准测试:** `benchmark_triton.py`
- **社区:** https://github.com/triton-lang/triton/discussions
### 何时使用Triton
✅ **在以下情况使用Triton:**
- 您需要PyTorch中没有的自定义操作
- 融合多个操作以减少内存带宽
- 以生产级性能原型化研究想法
- 优化模型中的特定瓶颈
❌ **在以下情况不要使用Triton:**
- 标准PyTorch操作已满足您的需求
- 您还不熟悉GPU编程概念
- 该操作已在cuDNN/cuBLAS中优化
## 许可证
PyTorch根据BSD-3-Clause许可证发布。详见 [PyTorch仓库](https://github.com/pytorch/pytorch)。
此软件包从官方PyTorch源代码编译,除了架构目标外没有进行任何修改。
## 致谢
- **PyTorch团队** 提供的优秀框架
- **OpenAI和Triton社区** 使GPU编程民主化
- **NVIDIA** 提供的CUDA工具包和Blackwell架构
- **woct0rdho** 的triton-windows分支
- 帮助测试此构建版本的社区贡献者
## 📚 Jupyter Notebooks
`notebooks/` 中的互动教程:
1. **入门指南** - 安装验证和基本基准测试
2. **Flash Attention** - 优化注意力机制(即将推出)
3. **自定义Triton内核** - 使用Python编写GPU内核(即将推出)
4. **LLM优化** - 优化大型语言模型(即将推出)
5. **图像生成** - Stable Diffusion优化(即将推出)
```
# Launch Jupyter
jupyter notebook notebooks/
```
## 🔌 集成
### vLLM (LLM服务)
高性能LLM推理服务:
```
# See integrations/vllm_integration.py
python integrations/vllm_integration.py --mode server --model meta-llama/Llama-3.2-3B
```
### LangChain (RAG)
使用本地LLM构建RAG系统:
```
# See integrations/langchain_rag_example.py
python integrations/langchain_rag_example.py --documents ./docs
```
### ComfyUI (图像生成)
优化ComfyUI工作流程:
- 参见 [ComfyUI集成指南](integrations/comfyui_integration.md)
- 图像生成速度快20-30%
- 针对RTX-STone优化的自定义节点
## 🎯 模型库
经过预先测试的配置和基准测试:
- [模型库文档](docs/MODEL_ZOO.md)
- Llama 3.2, 3.1 (3B, 8B, 70B)
- Mistral 7B, Mixtral 8x7B
- Qwen 2.5
- SDXL, SD3, FLUX
- 每个模型的性能基准测试
## 📊 基准测试套件
全面的性能测试:
```
# PyTorch benchmarks
python benchmark.py
# Triton benchmarks
python benchmark_triton.py
# Full comparison vs PyTorch nightlies
python compare_performance.py --save-results
# Or use CLI
rtx-stone-benchmark
```
## 🛠️ 命令行工具
随PyPI包安装:
```
# Verify installation
rtx-stone-verify
# Show system info
rtx-stone-info
# Run benchmarks
rtx-stone-benchmark
```
## 📖 文档
- [快速入门指南](docs/QUICK_START.md)
- [模型库](docs/MODEL_ZOO.md)
- [发布说明](docs/RELEASE_NOTES.md)
- [变更日志](docs/CHANGELOG.md)
- [贡献指南](.github/CONTRIBUTING.md)
- [安全策略](.github/SECURITY.md)
## 变更日志
### v2.10.0a0 + 驱动限制发现(最新 - 2025年11月)
**🔥 突破性发现:NVIDIA驱动主动阻止sm_120性能**
- 使用Ghidra**逆向工程NVIDIA驱动**
- **发现3个函数**拒绝原生sm_120内核执行
- **创建驱动补丁**(3个十六进制字节)以绕过限制
- **验证了60%的性能提升** - 3D图形标记:29,604 → 47,616
- **GPU计算子分数:23,650**(解锁的Blackwell性能)
- **记录了完整方法**供社区验证
- **暴露了即使有“官方”PyTorch 2.7 sm_120支持,仍静默回退到sm_89**
**新增文档:**
- [docs/DRIVER_GATEKEEPING_ANALYSIS.md](docs/DRIVER_GATEKEEPING_ANALYSIS.md) - 驱动限制的技术分析
- [docs/DRIVER_PATCH_METHODOLOGY.md](docs/DRIVER_PATCH_METHODOLOGY.md) - 逆向工程过程
- [docs/patch_driver_sm120.md](docs/patch_driver_sm120.md) - 分步修补指南
- [docs/REDDIT_RESPONSE.md](docs/REDDIT_RESPONSE.md) - 关于PyTorch 2.7与驱动现实的背景
### v2.10.0a0 + 完整套件
- **新增:** PyPI包 - `pip install rtx-stone`
- **新增:** 支持所有RTX 50系列GPU (5090, 5080, 5070 Ti, 5070)
- **新增:** 带docker-compose的Docker容器
- **新增:** 用于LLM服务的vLLM集成
- **新增:** LangChain RAG示例
- **新增:** ComfyUI优化指南
- **新增:** 多GPU DDP/FSDP示例
- **新增:** Jupyter notebooks教程
- **新增:** 带基准测试的模型库
- **新增:** CLI工具 (rtx-stone-verify, rtx-stone-benchmark)
- **新增:** GitHub模板(问题、PR、贡献)
- **新增:** CI/CD工作流
- **新增:** 全面的文档
- **新增:** 面向Windows的Triton编译器集成
- **新增:** Triton内核中的原生SM 12.0 Blackwell支持
- **新增:** Flash Attention 2实现 (`flash_attention_rtx5080.py`)
- 比PyTorch SDPA在长序列上快1.5倍
- 针对Blackwell张量核心优化
- scaled_dot_product_attention的直接替代品
- **新增:** LLM优化套件 (`llm_inference_optimized.py`)
- 融合RoPE内核
- 优化的RMSNorm
- 高效的KV缓存管理
- 支持Llama, Mistral, Qwen
- **新增:** HuggingFace集成 (`huggingface_rtx5080.py`)
- 一行代码优化模型
- 自动注入Flash Attention
- 特定模型的优化
- **新增:** 自动调优框架 (`autotune_rtx5080.py`)
- 寻找最佳内核配置
- 对不同块大小进行基准测试
- 缓存调优结果
- **新增:** 性能比较工具 (`compare_performance.py`)
- 与PyTorch nightly版本和WSL2比较
- 全面的基准测试套件
- JSON导出结果
- **新增:** 示例目录 (`examples/`)
- 入门脚本
- 实际应用
- 最佳实践指南
- **新增:** 要求文件 (`requirements.txt`)
- 简单的依赖项安装
- 可选库文档
- Triton基准测试套件 (`benchmark_triton.py`)
- 生产就绪的Triton内核示例 (`triton_examples.py`)
- `install.ps1` 中的自动Triton安装
- 全面的文档
- 学习资源和教程
### v2.10.0a0 (2025年11月12日)
- 首个Windows版本
- 从PyTorch主分支构建
- 针对RTX 5080的原生SM 12.0支持
- CUDA 13.0兼容性
- Python 3.10/3.11支持
## 📜 许可证
BSD-3-Clause(与PyTorch相同)。详见 [LICENSE](LICENSE)。
## 🙏 致谢
- **PyTorch团队** 提供的优秀框架
- **OpenAI和Triton社区** 使GPU编程民主化
- **NVIDIA** 提供的CUDA工具包和Blackwell架构
- **woct0rdho** 的triton-windows分支
- **社区贡献者** 帮助测试和改进
标签:AI模型训练, Apex, Blackwell架构, CUDA, Ghidra逆向工程, GPU计算, NVIDIA驱动程序, PyTorch, RTX 5080, RTX 5090, sm_120, Triton编译器, Vectored Exception Handling, 人工智能, 凭据扫描, 安装指南, 性能优化, 性能提升, 机器学习, 检测绕过, 深度学习, 用户模式Hook绕过, 自定义二进制文件, 解锁性能, 请求拦截, 逆向工具, 驱动程序补丁, 驱动门控, 高性能计算