codistributed.build

Создайте распределенный массив из распределенных данных

Синтаксис

D = codistributed.build(L,codist)
D = codistributed.build(L,codist,'noCommunication')

Описание

D = codistributed.build(L,codist) формирует кодовый распределенный массив с getLocalPart(D) = L. Кодирование распределенных D массива создается так, как если бы вы объединили все копии локального массива L. Схема распределения определяется codist. Проверка глобальной ошибки гарантирует, что локальные части соответствуют указанной схеме распределения. Для получения информации о построении объектов codistributor смотрите страницы с описанием для codistributor1d и codistributor2dbc.

D = codistributed.build(L,codist,'noCommunication') создает распределенный по коду массив, не выполняя никаких межсетевых коммуникаций для проверки на ошибки.

codist должен быть полным, который можно проверить, позвонив codist.isComplete(). Требования к размеру и структуре локальной части L зависят от класса codist. Для 1-D и 2-D циклических кодовых распространителей, L должен иметь одинаковый класс и разреженность по всем работникам. Кроме того, локальная часть L должна представлять область, описанную globalIndices метод по codist.

Примеры

Создайте кодированный массив размера 1001 на 1001, так что столбец ii содержит значение ii.

spmd
    N = 1001;
    globalSize = [N,N];
    % Distribute the matrix over the second dimension (columns),
    % and let the codistributor derive the partition from the 
    % global size.
    codistr = codistributor1d(2, ...
                 codistributor1d.unsetPartition,globalSize)
 
    % On 4 workers, codistr.Partition equals [251,250,250,250].
    % Allocate storage for the local part.
    localSize = [N, codistr.Partition(labindex)];
    L = zeros(localSize);
    
    % Use globalIndices to map the indices of the columns 
    % of the local part into the global column indices.
    globalInd = codistr.globalIndices(2); 
    % On 4 workers, globalInd has the values:
    % 1:251    on worker 1
    % 252:501  on worker 2
    % 502:751  on worker 3
    % 752:1001 on worker 4
    
    % Initialize the columns of the local part to 
    % the correct value.
    for localCol = 1:length(globalInd)
        globalCol = globalInd(localCol);
        L(:,localCol) = globalCol;
    end
    D = codistributed.build(L,codistr)
end
Введенный в R2009b