Czy mimo to "wektoryzować" dodawanie elementów przez tablice w stylu SIMD?C# Vectorized Array Addition
Na przykład, chciałbym, aby włączyć:
var a = new[] { 1, 2, 3, 4 };
var b = new[] { 1, 2, 3, 4 };
var c = new[] { 1, 2, 3, 4 };
var d = new[] { 1, 2, 3, 4 };
var e = new int[4];
for (int i = 0; i < a.Length; i++)
{
e[i] = a[i] + b[i] + c[i] + d[i];
}
// e should equal { 4, 8, 12, 16 }
w coś podobnego:
var e = VectorAdd(a,b,c,d);
wiem coś może istnieć w bibliotekach ++/XNA C, ale nie wiem, czy mamy go w standardowych bibliotekach .Net.
Dzięki!
Myślę, że proste pętle, takie jak ta, którą napisałeś, są wektoryzowane przez kompilator optymalizujący. – Tudor