考虑其中的位向量N(N大)和M数字数组(M中等,通常小得多N),每个都在范围内0..N-1指示必须将向量的哪个位设置为1.后一个数组未排序.位向量只是一个整数数组,具体而言__m256i,每个__m256i结构中包含256位.
N
M
0..N-1
1
__m256i
如何在多个线程中有效地分割这项工作?
首选语言是C++(MSVC++ 2017工具集v141),汇编也很棒.首选CPU是x86_64(内在函数没问题).如果有任何益处,AVX2是理想的.
c++ algorithm parallel-processing x86 bit-manipulation
algorithm ×1
bit-manipulation ×1
c++ ×1
parallel-processing ×1
x86 ×1