gpt4 book ai didi

c++ - itk 3.20.1 处理器亲和性

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:30 24 4
gpt4 key购买 nike

有什么方法可以为 ITK (3.20.1) 线程设置处理器亲和性。我正在研究具有“SetGlobalDefaultNumberOfThreads”的 ITK::MultiThreader 类。但我没有找到任何关于亲和性的功能/方法。

任何帮助将不胜感激..

最佳答案

我安装的版本(3.18)好像不支持这个功能。但是,查看 MultiThreader 头文件,我注意到该实现依赖于 native OS 线程机制。这意味着在 linux 上,pthreads 实际上是产生的,pthread_t 直接用于 ThreadProcessIdType,这意味着您可以使用 linux 专有扩展来实现核心亲缘关系。

引用自 this answer另一个问题:

Unfortunately, the posix thread API doesn't provide a way to set cpu affinity for threads. You may use the non portable extension provided on the linux platform pthread_attr_setaffinity_np, with the cpuset family of functions to configure a thread affinity.

由于线程已经在运行,您需要先获取线程属性才能设置其关联性。 Linux 还为此提供了一个不可移植的函数:pthread_getattr_np

此外,cpuset 功能必须构建在内核中,但是在大多数支持多核的平台上应该是这种情况。

引用资料:

关于c++ - itk 3.20.1 处理器亲和性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16401815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com