Имам следния проблем: Имам десетки и стотици хиляди 512-битови логически масиви (или 64 байта). За всяка възможна двойка трябва да изпълня XOR, последвано от сума. Има ли начин да направите това ефективно? Чух, че има специални инструкции за процесора за това, но моите търсения в Google не успяха дори да намерят споменаването му.
В идеалния случай бих искал да направя това в MATLAB. Ако не, имам достъп и до C++ компилатора на Intel с IPP и TBB.
Бих искал да избегна цикли for над всеки елемент от логически масив, ако е възможно.
-O3
за gcc на Linux и Mac, не знам за icc или Windows). Ако все още не е достатъчно бързо, трябва да започнете да разглеждате MMX и SSE инструкциите. По-специално, Google за „Intel compiler intrinsics“. Но, сериозно, първо вземете работеща версия в чист Matlab, оптимизирайте я само ако трябва. - person sfstewman   schedule 29.06.2012