首页
/ 探索未来计算:Fractional GPUs 开源框架

探索未来计算:Fractional GPUs 开源框架

2024-06-12 08:26:00作者:秋阔奎Evelyn

🚀 分享一个创新的开源项目,它将彻底改变我们对GPU并发处理和资源隔离的理解。Fractional GPUs(FGPU)框架允许您将单个GPU分割为独立的部分,每个部分都有其自己的性能隔离,从而让多个应用在平行运行时保持互不干扰。

💡 项目简介

Fractional GPUs 旨在提供一种不同于Nvidia Multi-Process Service (MPS) 的解决方案,不仅提供性能隔离,而且适用于实时系统如自动驾驶汽车,甚至能够实现GPU的虚拟化,并保证运行时的性能保障。

🛠️ 项目技术分析

  1. 计算隔离:通过分配非重叠的Streaming Multiprocessors (SMs) 给不同分区,确保应用程序之间不会相互影响计算资源。
  2. 内存带宽隔离:利用页颜色策略,即使在其他应用读写操作的情况下,也能保证应用的内存访问速度不变。这一策略依赖于对GPU内存层次结构的详细理解,包括L2缓存和DRAM的信息。

💻 应用与技术场景

  • 实时系统:如自动驾驶汽车,要求严格的性能隔离和稳定响应。
  • 虚拟化环境:提高服务器资源利用率,为多个用户提供安全的GPU资源。
  • 深度学习框架:例如Caffe,通过FGPU API实现并行训练,提高模型训练效率。

🌈 项目特点

  1. 强大的隔离性:确保应用程序之间的计算和内存带宽不受影响。
  2. 硬件限制下的代码调整:目前需要修改应用源代码以适配FGPU,但将来可能通过编译器辅助的源代码转换来消除此限制。
  3. GPU内存层次结构的揭示:内含代码用于反向工程,揭示GPU内存层次结构的详细信息。
  4. 设备支持:当前支持Nvidia GTX 1070, GTX 1080 和 Tesla V100,易于扩展到其他Nvidia GPU。

📖 文档与资源

  • 建立指南:doc/BUILD.md
  • 常见问题解答:doc/FAQ.md
  • 功能论文:doc/FGPU-RTAS-2019.pdf
  • 应用移植详情:doc/PORT.md
  • 反向工程说明:doc/REVERSE.md
  • 测试方法:doc/TEST.md
  • 待办事项:doc/TODO.md

📚 快速启动

只需几步,即可进行快速演示:

cd $PROJ_DIR/scripts
./evaluations

该脚本包含了所有实验的自动化流程,从GPU的逆向工程,到微基准测试和宏观基准测试,让您轻松体验FGPU的强大功能。

总的来说,Fractional GPUs 是一项极具前瞻性的开源技术,它开启了GPU资源管理和性能优化的新篇章。无论您是研究人员还是开发者,都值得深入了解和使用这个项目,共同推动计算机科学的发展。

登录后查看全文
热门项目推荐