3 Stimmen

Auto-Vektorisierung mit gcc erhalten?

Im Zusammenhang mit der Bewertung der negativen logarithmischen Wahrscheinlichkeiten muss ich eine Reihe von Operationen durchführen, die von der Vektorisierung profitieren könnten

0) for (i = 1...n) { a[i] = 0; } // aber das denke ich

std::fill( a.begin(), a.end(), 0 ) ist bereits optimal

1) for (i = 1...n) { a[i] += b * c[i]; }

2) sum = 0; for (i = 1 .. n) { sum += a[i] * log( b[i] / c ); }

wissen Sie, ob es irgendeine Hoffnung gibt, gcc 434 dazu zu bringen Auto-Vektorisierung, und wie sollte ich die Schleife codieren, um ihm zu helfen (z.B. Indizes vs. Iteratoren verwenden, sollte ich (2) in einfachere Schleifen aufteilen Schleifen, ...) Bis jetzt verwende ich Doubles, ich muss prüfen, ob ich zumindest für (1) auf Floats umsteigen kann. zumindest für (1).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X