Seite 2 von 2 12
  1. #11
    Avatar von VikingGe
    Mitglied seit
    27.04.2015
    Liest
    PCGH.de & Heft (Abo)
    Ort
    ドイツ
    Beiträge
    685

    AW: Intel Core i7-8700K: Ausführliche Linux-Benchmarks veröffentlicht

    Wie gesagt, wenn man entsprechende Optimierungen aktiviert, versucht jeder halbwegs brauchbare Compiler, das zu vektorisieren. Mal so als Beispiel, wo das tatsächlich recht gut funktioniert:

    Code:
    #include <cstddef>
    
    double sum(double* data, size_t n) {
      double result = 0.0;
      for (size_t i = 0; i < n; i++)
        result += data[i];
      return result;
    }
    Ausgabe mit clang -Ofast -march=znver1 (kann man auch hier wunderbar ausprobieren):

    Spoiler:
    Code:
    sum(double*, unsigned long):                              # @sum(double*, unsigned long)
            test    rsi, rsi
            je      .LBB0_1
            cmp     rsi, 15
            ja      .LBB0_6
            vxorpd  xmm0, xmm0, xmm0
            xor     eax, eax
            jmp     .LBB0_4
    .LBB0_1:
            vxorps  xmm0, xmm0, xmm0
            vzeroupper
            ret
    .LBB0_6:
            mov     rax, rsi
            lea     rcx, [rdi + 96]
            vxorpd  ymm0, ymm0, ymm0
            vxorpd  ymm1, ymm1, ymm1
            vxorpd  ymm2, ymm2, ymm2
            vxorpd  ymm3, ymm3, ymm3
            and     rax, -16
            mov     rdx, rax
    .LBB0_7:                                # =>This Inner Loop Header: Depth=1
            vaddpd  ymm0, ymm0, ymmword ptr [rcx - 96]
            vaddpd  ymm1, ymm1, ymmword ptr [rcx - 64]
            vaddpd  ymm2, ymm2, ymmword ptr [rcx - 32]
            vaddpd  ymm3, ymm3, ymmword ptr [rcx]
            sub     rcx, -128
            add     rdx, -16
            jne     .LBB0_7
            vaddpd  ymm0, ymm1, ymm0
            cmp     rax, rsi
            vaddpd  ymm0, ymm2, ymm0
            vaddpd  ymm0, ymm3, ymm0
            vextractf128    xmm1, ymm0, 1
            vaddpd  ymm0, ymm0, ymm1
            vhaddpd ymm0, ymm0, ymm0
            je      .LBB0_9
    .LBB0_4:
            lea     rcx, [rdi + 8*rax]
            sub     rsi, rax
    .LBB0_5:                                # =>This Inner Loop Header: Depth=1
            vaddsd  xmm0, xmm0, qword ptr [rcx]
            add     rcx, 8
            dec     rsi
            jne     .LBB0_5
    .LBB0_9:
            vzeroupper
            ret
    Phenom II X6 1090T 3.8 GHz 8GB DDR3-1720 MSI RX 480 Gaming X 8GB Asus M5A97 Arch Linux Windows 10

    •   Alt

      Anzeige
      Bitte einloggen, um diese Anzeige auszublenden.
       

  2. #12
    Avatar von yummycandy
    Mitglied seit
    02.07.2016
    Beiträge
    240

    AW: Intel Core i7-8700K: Ausführliche Linux-Benchmarks veröffentlicht

    Zitat Zitat von VikingGe Beitrag anzeigen
    Wie gesagt, wenn man entsprechende Optimierungen aktiviert, versucht jeder halbwegs brauchbare Compiler, das zu vektorisieren. Mal so als Beispiel, wo das tatsächlich recht gut funktioniert:
    Witzig und gut zu wissen!
    Ich musste mich in den letzten Jahren immer mit .net rumärgern, da hatte ich das nicht aufm Schirm.
    ----------------------------------------------------------
    FX8320 | r9 270x | 32GB | 850 EVO 512GB | 10TB HD | G710+ | CM Sentinel III

  3. #13
    Avatar von bastian123f
    No Adblocker!

    Mitglied seit
    15.05.2017
    Liest
    PCGH.de
    Beiträge
    856

    AW: Intel Core i7-8700K: Ausführliche Linux-Benchmarks veröffentlicht

    Coffe Lake pendelt sich ja gut ein. Bin dann mal gespannt, wo sich dann Ryzen + einordnet.
    PC1: CPU: FX8120 (95W, @3,4GHz); GPU: Gigabyte R9 Fury (60 CUs, 3840 Shader); MB: MSI 970A Sli-Krait; RAM: Ballistix Sport DDR3-1600MHz (4x4Gb);
    [b]SSD:[/b ]850 Evo (250 Gb); HDD: WD10EZEX; NT: BeQuiet BQ SU7-600W; CPU-Kühler: BeQuiet Schadow Rock 2; Case: Cooltek Skall (red)
    PC2: 300 Euro eBay PC, was taugt er? tuned with be quiet! Tuningaktion

Seite 2 von 2 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •