Új hozzászólás Aktív témák

  • S_x96x_S

    őstag

    válasz hokuszpk #7475 üzenetére

    > mert akkor olyan optimalizacio kellene, ami Zen4 -en megy,
    > de Intel procin nem.
    > Viszont ezzel kb. az 5xxx szeriat is azonnal herénvernék ;

    ezt én nem érzem olyan vészesen bonyolultnak.

    pl. mindegyik X86 microarchitecturára lenne egy bináris
    legalább 4db

    és egy előtét dispatch "progi" éppen azt inditaná el ami a legoptimálisabb az adott gépnek.

    progi.x86-64-v1 (generic)
    progi.x86-64-v2 --> 10gen Pentium és Celeron
    progi.x86-64-v3 (AVX2) --> Ez futna a Zen3, Intel gen12,gen13-on
    progi.x86-64-v4 (AVX512) --> Ez meg Zen4 ; skylake-x

    így etikusan hoznánk előnybe
    a zen4-et a zen3/gen12/gen13 -hez képest,
    csak meg kell győzni a játékfejlesztőket az AVX512-ra történő optimilizálásra

    ----------

    megjegyzés:

    Igazából az Intel compiler "GenuineIntel" ellenörzése az etikátlan ..
    amikor is - ha nem "GenuineIntel", akkor úgy veszi mintha egyáltalán nem lenne normális vektoros gyorsítás
    és nem használja ki a meglévő avx/avx2 -öt.

    persze vannak patch-ek ..
    amikor ez felül van irva "AuthenticAMD" -ra ..
    de mégse ez lenne az igazi megoldás.
    pl. https://github.com/shoubhikraj/intel-cpu-patch

    "Intel C/C++ and Fortran compilers have an option /Qax (Windows) or -ax (Linux) which introduces multiple dispatch versions of computationally heavy functions where SIMD (e.g. AVX, AVX2, FMA, AVX-512) can be used. Unfortunately, the dispatcher only works correctly for Intel processors. If you have a different processor e.g. AMD, the dispatcher will always use the slowest codepath, even if AVX or AVX2 is available.
    The dispatcher first checks the CPU vendor string by using the instruction cpuid. If the vendor string is GenuineIntel, only then it checks whether the CPU has modern SIMD instruction sets like AVX2 are available. If the CPU vendor is not Intel, it selects the default codepath, which is SSE2 on Windows and x86 on Linux.

    The python script opens the binary file and then looks for locations where a string is checked against GenuineIntel and then it replaces that with AuthenticAMD. This makes the software use the best available codepath on AMD processors."

    úgyhogy ha egy játékot az Intel C/C++ fordítójával forítottak, akkor az szívás az AMD-nek. ( és etikátlan az Intel részéről )

    https://github.com/shoubhikraj/intel-cpu-patch/blob/main/find_intel_replace.py
    patched_zone = modify_zone.replace(b'Genu',b'Auth')
    patched_zone = patched_zone.replace(b'ineI',b'enti')
    patched_zone = patched_zone.replace(b'ntel',b'cAMD')

    Mottó: "A verseny jó!"

Új hozzászólás Aktív témák