AVX Allgemeine Frage



  • Ich möchte aus reiner Neugier eine Vektoraddition mittels AVX-Intrinsics bewerkstelligen.

    Nun funktioniert das soweit, aber ich habe immer Vektoren der Größe 4x Double verwendet.

    Nun frage ich mich wie ich am besten vorgehe, wenn noch ein paar Elemente übrig bleiben?
    Muss ich dann meine Schleife teilen?

    Grobes Beispiel (Pseudocode):

    double x[400] = random;
    double y[400] = random;
    double result[400];
    
    for(i =0; i<100; i++)
    {
      vec4_result = vec4_add( vec4_x , vec4_y);
    }
    

    Was wäre wenn x und y die Länge 399 hätten und noch andere Werte von dieser Länge abhängig wären, so dass ein einfaches Auffülen auf 400 Werte nicht ohne Weiteres machbar wäre?

    :xmas1:
    Wow, Weihnachten?


Anmelden zum Antworten