【问题标题】:MATLAB lab worker allocated memoryMATLAB 实验室工作人员分配的内存
【发布时间】:2012-06-30 15:25:21
【问题描述】:

我想知道当我们运行spmd 块并创建单独的实验室工作人员时,那么分配给他们每个人的内存是多少? 我有一台 8 核机器,我使用了 8 个实验室工作人员。

谢谢。

【问题讨论】:

    标签: matlab parallel-processing shared-memory


    【解决方案1】:

    当您在 Parallel Computing Toolbox 中使用 matlabpool 命令启动工作进程时,每个工作进程都会启动相同的 - 它们本质上是一个普通的 MATLAB 进程,但没有可见的桌面。当您在它们上创建数组时,它们会消耗内存。比如下面这种情况,每个worker使用相同数量的内存来存储x

    spmd
        x = zeros(1000);
    end
    

    但在以下情况下,每个工作人员消耗不同数量的内存来存储他们的 x 副本:

    spmd
        x = zeros(100 * labindex);
    end
    

    【讨论】:

    • @Eric - 谢谢。但是你知道分配的内存的最终限制是多少吗?当我创建数组时,它们会消耗内存。但是,如果我创建非常大的数组,并将它们分配给每个实验室工作人员,那么限制在哪里?我尝试使用 8 个实验室工作人员运行代码,并为每个实验室工作人员分配 5 个巨大的大型数组,内部 RAM 被填满,程序停止。然而,当分配给 4 名实验室工作人员时,相同的阵列可以轻松处理它们。我有 16GB 的内部内存,当我创建实验室工作人员时,每个工作人员都分配了一些内存。我想知道多少钱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多