大规模应用调试与多核处理器及GPU优化技术
1. 大规模应用调试技术
在大规模处理器上调试应用程序时,传统虚拟环境的安装和配置需要管理权限,而大多数超级计算机默认不提供这些权限。不过,有一种创新技术可以解决这一问题,它完全位于用户空间,不受此限制。
1.1 技术原理
该技术将CHARMDEBUG(用于CHARM++应用程序的调试器)与BigSim(用于大型机器的模拟器)进行了扩展和集成。通过结合这两个系统,并解决了在扩展和集成过程中出现的挑战,能够为用户提供一种无缝的调试方法,使用的处理器数量比用户请求的要少得多。具体实现方式是在每个物理处理器内部分配多个虚拟处理器。
1.2 技术局限性与未来工作
- 内存操作问题 :由于在物理处理器的单一地址空间内存在多个虚拟处理器,一些内存操作(如查找内存泄漏)被禁用。因为这些操作需要调试器明确是哪个虚拟处理器分配了内存。一种解决方法是使用内存标记机制,并按虚拟处理器对内存分配进行分组。
- MPI应用调试 :目前CHARMDEBUG主要专注于CHARM++应用程序,虽然可以使用AMPI实现来调试MPI应用程序,但对于程序员来说可能存在不必要的开销。未来考虑对其进行扩展,以便为MPI程序提供更自然的调试方式。
2. OMPSs编程模型
OMPSs是一种基于OpenMP和StarSs扩展的编程模型,还可以包含OpenCL或CUDA内核,旨在为异构架构的编程提供简单的解决方案。
超级会员免费看
订阅专栏 解锁全文
867

被折叠的 条评论
为什么被折叠?



