gpt4 book ai didi

c - 如何在 linux 中为 c 程序分配更多的 cpu 和 RAM

转载 作者:太空狗 更新时间:2023-10-29 11:33:27 24 4
gpt4 key购买 nike

我正在运行一个简单的 C 程序,该程序执行大量计算 (CFD),因此需要花费大量时间来运行。但是我仍然有很多未使用的 CPU 和 RAM。那么我将如何将我的一些处理能力分配给一个程序。??

最佳答案

我猜 CFD 的意思是计算流体动力学(但 CFD 还有很多其他含义,所以我可能猜错了)。

你绝对应该先profile你的代码。至少,用 gcc -Wall -pg -O 编译它并学习如何使用 gprof .您还可以使用 strace 找出您的代码完成的系统调用。

我不是 CFD 专家(即使在上个世纪我确实与 CFD 专家一起工作)。但是这样的代码使用了很多 finite elements analysis和其他 vector 计算。

如果您正在编写代码,您可能会考虑使用 OpenMP (因此,通过在源代码中仔细添加 OpenMP pragmas,您可能会加快速度),或者甚至考虑通过编写 OpenCL kernels 来使用 GPGPU。在 GPU 上运行。

您还可以了解更多关于 pthreads 的信息编程并更改您的代码以使用线程。

如果您正在使用重要的数字库,例如BLAS他们有很多调整,甚至有专门的变体(例如多核、OpenMP-ed,甚至在 OpenCL 中)。

在所有情况下,并行化您的代码都是一项繁重的工作。如果可能的话,您将花费数周或数月的时间来改进它。

关于c - 如何在 linux 中为 c 程序分配更多的 cpu 和 RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787046/

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