4 ms·
Any commonly used software that benefits from AVX-512?
by continuations 7y ago
Any commonly used software that benefits from AVX-512?
- bitL 7y agoVideo editing, audio mastering, games.
- reitzensteinm 7y agoGames!? No Man's Sky had trouble with SSE 4.1 being a requirement, and ended up patching it out... let alone AVX, AVX2, or AVX512. Typically, games won't take advantage of new instruction sets until it's ready to be a minimum requirement, as otherwise you need to maintain two code paths, the benefit of which is only to be speeding up execution on what are already the more powerful CPUs. What games can benefit from AVX512?
- bitL 7y agoNot now obviously as it is not mainstream yet, but AVX512 makes developer's life way easier than older AVX sets. So I see no reason why game engine developers wouldn't use them in the future. For now only some server-specific workloads use AVX512.
- reitzensteinm 7y agoIt's going to be a long, long time - at least a decade. I'd go as far as to say "never" is plausible, depending on how ARM penetration plays out. If the consoles go ARM before AVX-512 has been standard on new PCs for years, it may just not be worth it.
- throwaway2048 7y agoExcept it dosent because there are 4+ mutually incompatible versions of AVX instruction sets. Gotta love the price segmentation.
- gigatexal 7y agoAnd AVX512L should further improve that.
- mhh__ 7y agoSome LLVM compilers produce code that (possible with GCC too) can jit itself on a per function on first execution e.g. -march=native so no branches required. This requires good planning of the game, i.e. this reduces inlining so one needs to be careful with putting the important bits in the JITted code
- Tuna-Fish 7y agoPractically no-one in the industry uses this, or the icc system that builds multiple versions of functions in the same exe. It might work in theory, but it increases the cost of testing too much for it to be worth it.
- mhh__ 7y agoI'm just saying that it exists. I saw it the other day and was amazed I hadn't seen it before.
- floatboth 7y agoIf you're referring to ifuncs, they aren't doing anything like "JIT itself": your rtld simply calls your function to decide which version of the function you want to call and updates the PLT. FreeBSD kernel uses ifuncs for SMAP, XSAVE, ERMS (Enhanced REP MOVSB/STOSB), RDSEED.
- mhh__ 7y agoI don't know what they call it normally, but I noticed a magic symbol attribute in the LLVM d compiler that invoked a jit at runtime (-dynamic* something like that) Edit: I checked and they're not ifuncs
- gigatexal 7y agoNot an authoritative list but a graphics benchmark and an x264 encoder at least according to this https://forums.anandtech.com/threads/avx-512-what-software-use-avx-512.2520858/ https://forums.anandtech.com/threads/avx-512-what-software-u...