主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

codistributed.spalloc

为稀疏共存分布式矩阵分配空间

语法

SD = codistributed.spalloc(M,N,nzmax)
SD = spalloc(M,N,nzmax,codist)
SD = codistributed.spalloc(___,typename)

说明

SD = codistributed.spalloc(M,N,nzmax) 创建一个 M×N 全零稀疏共存分布式矩阵,并有空间容纳 nzmax 非零值。

codistributed.spalloc 的可选参量必须在必需参量之后指定,并按照以下顺序指定:

  • codist - 指定结果数组的分布方案的协同分布器对象。如果省略,则使用默认分布方案分布数组。为非零元素分配的空间与根据协同分布器的 Partition 在工作单元之间进行的矩阵分配一致。

  • 'noCommunication' - 指定构造数组时不进行任何通信,跳过一些错误检查步骤。您还可以将此参量与 SD = spalloc(M,N,nzmax,codistr) 一起使用。

SD = spalloc(M,N,nzmax,codist)SD = codistributed.spalloc(M,N,nzmax,codist) 相同。您还可以使用此语法的可选参量。

SD = codistributed.spalloc(___,typename) 还指定了之前任何语法中的数据类型(类)。typename 输入可以是 "single""double""logical" (自 R2025a 起)

示例

为 1000×1000 的稀疏共存分布式矩阵分配空间,最多可容纳 2000 个非零元素。使用默认的协同分布器。定义矩阵的几个元素。

spmd  % codistributed array created inside spmd statement
    N = 1000;
    SD = codistributed.spalloc(N,N,2*N);
    for ii=1:N-1
      SD(ii,ii:ii+1) = [ii ii];
    end
end

使用 spalloc 初始化一个 10×10 的全零稀疏共存分布式单精度矩阵,该矩阵可容纳最多 20 个非零元素。在矩阵中定义多个元素。

spmd
SD = codistributed.spalloc(10,10,20,"single");
SD(1:3,1:3) = magic(3);
end

版本历史记录

在 R2009b 中推出

全部展开