Senast redigerat
Visa signatur
mobo Asus M4A88TD-M EVO/USB3 cpu 1100T kylare Noctua NH-D14
gpu RX 460 passive ram 16GB DDR3 1600MHz ssd Samsung 850 EVO 250GB
psu Corsair AX 850 skärmar 3 * 40" NEC P401
Sitter på en gammal processor som inte ens har AVX och kan därför inte testa själv just nu.
Om någon hjälpsam med C kompilator för det här och dessutom en processor med AVX512 stöd kunde köra koden,
och säga om det blir rätt, fel eller error skulle jag bli glad.
Verkar krävas en processor från en av dessa tre serier?
Core i7-7800
Core i9 7900
Xeon Phi 7200
#include <stdio.h>
#include <x86intrin.h>
#include <avx512vlintrin.h>
int main() {
int array[8] __attribute__ ((aligned (32))) = {40,70,60,20,0,30,50,10};
int ranks[8] __attribute__ ((aligned (32))) = {4, 7, 6, 2, 0,3, 5, 1};
int sorted[8] __attribute__ ((aligned (32))) = {};
_mm256_i32scatter_epi32((void*)sorted,*(__m256i*)ranks,*(__m256i*)array,4);
// __builtin_ia32_scattersiv8si(sorted,(__mmask8)-1,(__v8si)(*(__m256i*)ranks),(__v8si)(*(__m256i*)array),4);
for(int i=0; i<8; i++)
printf("%d ",sorted[i]);
// 0 10 20 30 40 50 60 70 ?
return 0;
}
mobo Asus M4A88TD-M EVO/USB3 cpu 1100T kylare Noctua NH-D14
gpu RX 460 passive ram 16GB DDR3 1600MHz ssd Samsung 850 EVO 250GB
psu Corsair AX 850 skärmar 3 * 40" NEC P401
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.