面向LLM优化的CUDA内核嵌套循环特征提取技术咨询
实验性项目:LLM自动优化CUDA内核嵌套循环
核心需求
从手写CUDA源代码中提取静态循环与内存访问特征,转化为LLM易处理的结构化表示(如循环边界、内存访问模式、依赖关系、并行性信息等),用于指导内核优化。
环境与背景
- CUDA内核为手写实现,未使用高阶DSL或调度框架
- 可通过NVCC/NVIDIA Compiler SDK生成NVVM IR或LLVM IR
- 熟悉LLVM/MLIR流水线,计划借助其分析循环与内存访问
期望提取的循环特征
- 循环深度、边界与步长
- 数组访问模式(步幅、合并访问、共享/全局内存使用情况)
- 数据依赖关系(RAW/WAR/WAW)
- 并行性潜力(线程安全性、分块/融合机会)
- 优化提示(分块、循环交换、向量化)
理想输出为可直接输入LLM的JSON或结构化向量。
技术问题
CUDA→MLIR工作流
- 转换为MLIR GPU/affine方言前是否必须经过NVVM IR/LLVM IR?
- NVCC默认生成PTX,能否直接获取LLVM IR或MLIR?
工具链选择
- LLVM passes、LoopInfo、ScalarEvolution、Polly/ISL能否直接提取嵌套循环与依赖信息?
- 是否有开源工具可生成LLM友好的循环特征向量?
多面体分析局限性
- 如何处理非仿射循环(保守近似方法)?
- 多面体分析中处理GPU内置线程/块变量的推荐方案是什么?
项目目标
- 对CUDA内核进行静态分析,生成结构化循环特征
- 可选结合运行时分析(Nsight Compute/CUPTI)获取优化提示
- 生成可直接供LLM或自动调度工具使用的输出,用于分块/融合/向量化建议
指导请求
- 推荐可行流水线示例:CUDA→LLVM IR/NVVM IR→MLIR→循环特征向量
- 可直接从CUDA内核提取循环+内存访问特征的开源工具推荐
- GPU多面体分析中处理线程/块变量的最佳实践
内容的提问来源于stack exchange,提问作者yuxuan-z
相关产品推荐
相关产品推荐

