gpt4 book ai didi

c++ - 如何使用多核而不是多线程进行编程?

转载 作者:太空宇宙 更新时间:2023-11-04 15:29:51 25 4
gpt4 key购买 nike

我正在做一个项目(硬件:RaspberryPI 3B+),它有大量的计算和并行处理。目前,我注意到代码性能存在某种滞后。因此,我一直在寻找有效的方法来改进我的代码及其性能。

目前,我正在使用 C 语言(因为我可以轻松访问和操作较低级别的驱动程序)并开发我自己的函数、库和驱动程序集,它们比任何其他预定义或现成的库运行得更快或插件。

现在,我想使用独立的内核来执行相应的任务,而不是基于软件的多线程 (Pthread)。那么,对于如何使用 RaspberryPI 的不同内核,有什么建议或指南吗?

此外,如何检查 CPU 利用率以选择最佳内核来执行特定任务?

感谢问候,阿提夫谢赫

最佳答案

在 C/C++ 级别,您无权访问哪个 CPU 核心将运行哪个线程。只需使用 C++ 11 标准线程,让操作系统调度程序决定哪个线程在何处运行。

也就是说,Linux 有任务集工具来检查线程亲缘关系,还有 sched_setaffinity () 函数。

关于c++ - 如何使用多核而不是多线程进行编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57369706/

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