我手头有一个开发分布式计算模拟器的任务,我希望将我的计算资源(N Nividia GPU 和 M GB 内存)划分为 P 个分区,以便我可以在每个分区上同时运行应用程序的副本。这些应用程序还应该能够相互通信。有哪些工具和 Python 库可用于对 GPU 和内存进行分区并设置分区间通信?
Python 中的 GPU 分区和通信分布式计算:
为此类任务构建模拟器需要混合使用各种工具。这是一个结构化指南:
GPU 分区:
内存管理:
CuPy
和Fast.ai
等库提供GPU内存池功能。cudaMalloc
、cudaFree
等)。分区间通信:
OpenMPI
或MPICH
等工具支持并行进程之间的消息传递。它可以扩展到 CUDA 以执行面向 GPU 的任务。框架和库:
CuPy
和 RAPIDS
无缝集成以进行 GPU 计算。模拟:
编排:
网络和数据传输:
请记住,工具的选择很大程度上取决于您的具体要求。希望这对您的项目有所帮助并一切顺利!