Выделение места для разреженной распределенной матрицы
SD = codistributed.spalloc(M,N,nzmax)
SD = spalloc(M,N,nzmax,codist)
SD = codistributed.spalloc(M,N,nzmax) создает Mоколо-N все-нулевая разреженная распределенная матрица с помещением для хранения nzmax ненулевые.
Необязательные аргументы для codistributed.spalloc должны быть указаны после требуемых аргументов и в следующем порядке:
codist - объект-распространитель, задающий схему распределения результирующего массива. Если этот параметр опущен, массив распределяется с использованием схемы распределения по умолчанию. Выделенное пространство для ненулевых элементов согласуется с распределением матрицы между работниками согласно Partition codistributor.
'noCommunication' - указывает, что при построении массива связь не должна выполняться, пропуская некоторые шаги проверки ошибок. Этот аргумент можно также использовать с SD = spalloc(M, N, nzmax, codistr).
SD = spalloc(M,N,nzmax,codist) является таким же, как SD = codistributed.spalloc(M,N,nzmax,codist). С помощью этого синтаксиса можно также использовать необязательные аргументы.
Выделение пространства для разреженной распределенной матрицы 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