typically 100x100x100.
If I was able to reinterpret a 3D array as a 2D array of 1D arrays (or a 1D array of 2D arrays), the problem would be solved.
#2 3D arrays
x=ones(Float32,100,100,100)
y=ones(Float32,100,100,100)
#a function (not parallel)
function f1D!(x1d,y1d)
for i=2:length(x1d)
x1d[i]+=y1d[i]+x1d[i-1]
end
end
# map f1D to all rows j,k
s=size(x)
for j=1:s[2]
for k=1:s[3]
f1D!(@view(x[:,j,k]),@view(y[:,j,k]))
end
end