26得票6回答
F#中多核并行计算中缓存本地性的最佳实践

我正在学习F#中的多核并行性。我必须承认,不可变性确实有助于编写正确的并行实现。但是,在核心数量增加时实现良好的加速和良好的可伸缩性很难。例如,我的Quick Sort算法实现经验表明,许多尝试以纯函数方式并使用List或Array作为表示来实现并行Quick Sort都失败了。对这些实现进行...

25得票2回答
内存栅栏是如何工作的?

我需要了解多核机器中的内存屏障。假设有以下代码: 核心1mov [_x], 1; mov r1, [_y] 核心 2mov [_y], 1; mov r2, [_x] 现在,如果没有内存屏障,意料之外的结果将是在执行后r1和r2都可能为0。我认为,为了解决这个问题,我们应该在两段代码...

25得票7回答
在具有n个核心的计算机中确定要启动的线程数量的最佳方法是什么?(C ++)

我有一个包含一千万个元素的vector<int>,我的工作站有四个核心。有一个名为ThrFunc的函数,它对一个整数进行操作。假设对于vector<int>中的每个整数,ThrFunc的运行时大致相同。 如何确定要启动的线程数最佳值?答案是否就是将元素数量除以核心数?...

25得票1回答
无栈Python和多核技术?

所以,我在尝试使用 Stackless Python,脑子里想起了一个问题,也许这是“默认”或“常见”的知识,但我并没有在 Stackless 网站 上找到实际的文字说明。 Stackless Python 是否利用多核 CPU 的优势?在普通的 Python 中,GIL 一直存在,要真正利...

25得票7回答
MPI用于多核?

最近多核编程备受关注,是否有人正在探索使用MPI的可能性?

25得票2回答
追踪内核中神秘的高优先级线程挂起

描述 我正在开发一个嵌入式Linux系统(使用内核3.4和bionic,类似于Android),它运行在多核ARMv7a SoC上。我们有一个用户空间线程,主要服务于内核产生的事件。这些事件是从IRQ生成的,并且必须由用户空间以非常低的延迟进行响应。 一个线程以SCHED_FIFO优先级0...

24得票9回答
多进程还是多线程?

我正在用Python编写一个程序,通过wxPython界面运行模拟。在程序中,您可以创建一个模拟,并由程序进行渲染(即计算)。有时渲染可能非常耗时。 当用户启动模拟并定义初始状态时,我希望程序在后台持续渲染模拟,而用户可以在程序中进行其他操作,就像YouTube样式的进度条:只能播放已经渲染...

24得票2回答
使用#import的多核构建(/MP)策略

我正在使用VS 2008为我们的大型VC++项目制定新的解决方案配置。我希望这个配置使用多核构建标志/MP。 然而,在代码库中,生成COM包装器类的"#import"特性随处可见,而在使用/MP时不支持此特性。 我明白为什么# import无法工作,我想知道是否有人遇到过这个问题以及他们是...

24得票5回答
Visual Studio 2010,如何在多核处理器上并行构建项目

我有一个包含超过40个项目的大型解决方案。其中近一半是测试项目。 在我的项目中,我们同时使用Code Contracts、Code Analysis和Style Analysis。 我希望能够在我的四核CPU上并行构建不依赖其他项目的项目。 我该如何设置msbuild以并行构建这些项目?

23得票7回答
多核CPU是否共享MMU和页表?

在单核计算机中,一次只有一个线程在执行。在每个上下文切换时,调度程序会检查要调度的新线程是否与以前的线程在同一个进程中。如果是,则关于MMU(页表)无需进行任何操作。否则,需要使用新进程的页表更新页表。 我想知道多核计算机上的情况。我猜每个核心都有一个专用的MMU,如果同一进程的两个线程同时...