#GPU编程
ThunderKittens
ThunderKittens是一个用于开发高性能CUDA深度学习内核的框架。它基于现代GPU架构设计,通过操作16x16及以上的数据瓦片实现高效计算。框架支持张量核心、共享内存优化和异步数据传输等特性,充分利用GPU性能。ThunderKittens以简洁、可扩展和高速为设计原则,适用于各类深度学习算法的高效实现。
lectures
讲座系列涉及CUDA、PyTorch优化、量化技术和稀疏计算等GPU编程前沿话题。由行业专家授课,内容包括性能分析、内存架构和优化方法。结合理论和实践,帮助学习者掌握并行计算技能,增强GPU编程水平。面向对GPU加速和深度学习优化感兴趣的技术人员。
slang
Slang是一种基于HLSL的高性能着色语言,为现代GPU和图形API优化设计。它支持模块化开发、自动微分、泛型和接口等特性,并保持与HLSL代码的兼容性。Slang能够生成多个目标平台的代码,如D3D12、Vulkan和Metal,同时提供完整的反射信息和调试功能。这使得Slang成为管理大型着色器代码库的有力工具,能够提升开发效率和代码维护性。
triton
Triton是一种开源编程语言和编译器,专为编写高效的自定义深度学习原语而设计。它提供了一个兼具高生产力和灵活性的开发环境,性能优于CUDA,灵活性超过其他领域特定语言。Triton支持NVIDIA和AMD GPU平台,提供完善的文档和教程。用户可通过pip轻松安装,也支持源代码构建。该项目持续更新,最新版本进行了大量性能优化和问题修复。
Bend
Bend是一种创新的高级并行编程语言,将高级语言的易用性与大规模并行计算的高效性相结合。它融合了Python和Haskell等语言的优秀特性,如快速对象分配、高阶函数和闭包支持,同时在GPU等并行硬件上实现了接近CUDA的性能,无需开发者手动添加并行化代码。Bend能够在GPU等大规模并行硬件上实现近乎线性的性能提升,且支持无限递归等高级特性。基于HVM2运行时开发,Bend目前仍在持续完善中,未来有望进一步优化性能。
GPU-Puzzles
GPU-Puzzles是一个创新的交互式GPU编程教程项目。它采用NUMBA将Python代码直接映射到CUDA内核,让初学者能快速上手GPU编程。通过一系列精心设计的编程练习,学习者可在短时间内从GPU编程基础进阶到理解驱动现代深度学习的核心算法。该项目为希望深入了解GPU架构及其在机器学习中关键作用的人提供了实用的学习资源。
resource-stream
Resource Stream汇集了丰富的CUDA和GPU加速计算资源,包括书籍、论文、教程和代码实现。项目涵盖Triton和torch.compile()等高级优化工具,为开发者提供全面的学习材料和实践指南,助力高效并行计算和GPU性能优化。
ocl
ocl库为Rust开发者提供了高效的OpenCL编程接口。它不仅保留了OpenCL的全部功能,还简化了设备操作流程,减少了冗余代码。ocl的设计注重性能和安全性,适用于各种跨平台的高性能计算项目。支持OpenCL 1.1及更高版本,兼容主流操作系统。
VL.Fuse
VL.Fuse是一个开源的GPU可视化编程库,专为vvvv gamma打造。它提供快速工作流程和模块化方法,有效加速图形、逻辑和计算处理。通过集成Stride 3D引擎,用户无需编写脚本即可实现高质量的PBR材质、光照和后期效果。这个由社区支持的项目不仅适用于实际应用,还致力于与创意编码和生成设计领域共享最新研发成果。