利用OpenMP线程绑定技术提升多核平台应用性能
多核平台下,线程在核间的动态迁移在一定程度上会导致应用程序性能的下降,如果将线程绑定在固定的核上运行,使其不再迁移,这种方法将有可能提升应用程序性能,更充分的利用多核平台的计算能力。本文将介绍如何使用主流的编译器绑定接口以及Linux内核API的方式实现OpenMP线程与核之间的绑定,使用STREAM这一benchmark来测试比较绑定前后的应用程序的性能。
多核平台下,线程在核间的动态迁移在一定程度上会导致应用程序性能的下降,如果将线程绑定在固定的核上运行,使其不再迁移,这种方法将有可能提升应用程序性能,更充分的利用多核平台的计算能力。本文将介绍如何使用主流的编译器绑定接口以及Linux内核API的方式实现OpenMP线程与核之间的绑定,使用STREAM这一benchmark来测试比较绑定前后的应用程序的性能。