cuBLAS
NVIDIA提供的GPU加速BLAS库,为深度学习和科学计算提供高性能矩阵运算,是CUDA生态的核心计算库
核心事实
时间轴 (近 90 天)
rocBLAS是AMD的BLAS库(对标NVIDIA cuBLAS),提供基础矩阵乘等线性代数例程;composable_kernel(CK)是AMD的高性能算子模板库,常用于实现融合算子和低精度GEMM。
CUDA 的壁垒包括 cuBLAS、cuDNN、NCCL 等优化库,Nsight 系列 profiler 与调试器,以及十余年积累的教程、问答与第三方框架适配。
作者最初测得的请求字节数比理论公式多出一个固定偏移8,519,688字节,其中8,519,680字节来自cuBLAS惰性分配的workspace,剩下8字节是next-token张量。
cuBLAS workspace 是 cuBLAS 为临时结果或内部算法预留的显存区域,大小由 CUBLAS_WORKSPACE_CONFIG 环境变量或库默认策略决定,通常在首次调用相关 kernel 时才分配,不属于用户张量但计入 PyTorch 缓存分配器管理的显存池。
实现LLM推理的bit-wise确定性需要固定所有归约顺序、关闭非确定性GPU算子(如部分cuBLAS/cuDNN内核、原子加)、禁用动态batching、将输入padding到固定长度,这些约束会显著降低吞吐量与显存效率。
MLX 的内核设计思路被复用到 CUDA 上,可能形成一条区别于 cuBLAS/FlashAttention 等主流实现的优化路径。
在PyTorch中调用torch.matmul时,实际执行的往往是一个经过高度调优的cuBLAS kernel。
从工程角度,完全不用库去训练生产级模型几乎不现实,因为需要CUDA、cuBLAS、分布式通信库等底层依赖。
OjasX 被开发者称为开源 CUDA,但其逻辑是减少需要常驻内存的数据量,而非在纯算力上击败 cuBLAS。
内核优化领域常见的参照基线包括 NVIDIA 的 cuBLAS/cuDNN、Google 的 XLA 编译器生成代码以及 Triton 手写内核
还有 14 条时间轴事件
全部知识事实 (20)
CUDA Toolkit包含编译器nvcc、调试器、性能分析工具以及cuBLAS、cuFFT等数学库
75%已验证CUDA(Compute Unified Device Architecture)是NVIDIA推出的并行计算平台和编程模型
75%已验证CUDA生态涵盖cuDNN、cuBLAS、NCCL等核心组件,PyTorch、TensorFlow等主流框架均以CUDA为首要加速后端
65%已验证CUDA生态的壁垒深植于算子库(cuBLAS、cuDNN)、编译优化工具链(NVCC、TensorRT)和分布式训练框架(NCCL),构成英伟达深厚的护城河
65%已验证CUDA自2007年发布以来积累近二十年,其护城河体现在cuDNN、TensorRT、NCCL等底层优化库
65%待验证CompileIQ 可用于优化 cuBLAS、cuDNN、CUTLASS 等底层库的内核级编译
80%待验证设置CUBLAS_WORKSPACE_CONFIG=':4096:8'会强制cuBLAS分配确定性工作空间,该配置从CUDA 10.2开始引入
60%待验证rocBLAS是AMD的BLAS库(对标NVIDIA cuBLAS),提供基础矩阵乘等线性代数例程;composable_kernel(CK)是AMD的高性能算子模板库,常用于实现融合算子和低精度GEMM。
50%待验证CUDA 的壁垒包括 cuBLAS、cuDNN、NCCL 等优化库,Nsight 系列 profiler 与调试器,以及十余年积累的教程、问答与第三方框架适配。
50%待验证作者最初测得的请求字节数比理论公式多出一个固定偏移8,519,688字节,其中8,519,680字节来自cuBLAS惰性分配的workspace,剩下8字节是next-token张量。
50%待验证cuBLAS workspace 是 cuBLAS 为临时结果或内部算法预留的显存区域,大小由 CUBLAS_WORKSPACE_CONFIG 环境变量或库默认策略决定,通常在首次调用相关 kernel 时才分配,不属于用户张量但计入 PyTorch 缓存分配器管理的显存池。
50%待验证实现LLM推理的bit-wise确定性需要固定所有归约顺序、关闭非确定性GPU算子(如部分cuBLAS/cuDNN内核、原子加)、禁用动态batching、将输入padding到固定长度,这些约束会显著降低吞吐量与显存效率。
50%待验证从工程角度,完全不用库去训练生产级模型几乎不现实,因为需要CUDA、cuBLAS、分布式通信库等底层依赖。
50%待验证在PyTorch中调用torch.matmul时,实际执行的往往是一个经过高度调优的cuBLAS kernel。
50%待验证OjasX 被开发者称为开源 CUDA,但其逻辑是减少需要常驻内存的数据量,而非在纯算力上击败 cuBLAS。
50%待验证内核优化领域常见的参照基线包括 NVIDIA 的 cuBLAS/cuDNN、Google 的 XLA 编译器生成代码以及 Triton 手写内核
50%待验证英伟达官方的cuBLAS长期以来是GPU矩阵运算的事实标准
50%待验证DeepGEMM对应cuBLAS,负责AI中核心的矩阵乘法计算优化
50%待验证Tile分块通过将大计算任务切分为能装入共享内存或寄存器的小块,最大化数据复用并隐藏内存访问延迟,是cuBLAS、FlashAttention等高性能库接近硬件峰值性能的关键手段
50%待验证重构后的ThunderKittens内核性能已能与cuBLAS和CuTe DSL等官方高度优化方案正面竞争
50%