SIMD-Intrinsics sind langsamer als eine einzelne Skalarimplementierung für Spielzeugbeispiele, die auf Eigenmatrizen zugC++

Programme in C++. Entwicklerforum
Anonymous
 SIMD-Intrinsics sind langsamer als eine einzelne Skalarimplementierung für Spielzeugbeispiele, die auf Eigenmatrizen zug

Post by Anonymous »

Ich spiele mit SIMD und konnte selbst im einfachsten Beispiel keine Verbesserungen feststellen.
Mein Spielzeugprogramm berechnet den Bildverlauf (einfach die obere Reihe von der unteren subtrahieren, auf die Hälfte skalieren und die Ergebnisse speichern).

Code: Select all

#include 
#include 
#include 

#include 

Eigen::Matrix GetRandomMat(const int rows, const int cols)
{
return Eigen::Matrix::Random(rows, cols);
}

void compare(const Eigen::Matrix &grad_eig, const float *grad_simd)
{
const int rows = grad_eig.rows();
const int cols = grad_eig.cols();

for (int row = 1; row < rows - 1; ++row)
{
for (int col = 1; col < cols - 1; ++col)
{
if ((grad_eig(row, col) - grad_simd[row * cols + col]) != 0.0)
{
std::cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post