clear all;clc

N = 15;
A = rand(N,N,N,N);
for ii = 1:N
    for jj = 1:N
        B{ii,jj} = rand(N,N,N,N);
    end
end

tic
rB = reshape(cat(5,B{:}),numel(A),[]).';
out1 = reshape(rB*A(:),size(B));
toc

tic
rB = cellfun( @(x) x(:).', B, 'uni', 0 ); %'
rB = vertcat(rB{:});
dummy = reshape(rB * A(:), size(B) );
toc