Результаты поиска по запросу "avx"
Почему этот код SSE в 6 раз медленнее без VZEROUPPER на Skylake?
Я пытался выяснить проблему с производительностью в приложении и, наконец, сузил ее до действительно странной проблемы. Следующий фрагмент кода работает в 6 ...
, но он поддерживает другие встроенные функции в моем коде.
тирую следующую простую функцию
github.com/WojciechMula/sse-popcount/blob/master/...
множения больших двоичных матриц (10Kx20K) я обычно преобразую матрицы в числа с плавающей запятой и выполняю умножение матрицы с плавающей запятой, так как умножение целочисленной матрицы выполняется довольно медленно (посмотрите ...
@IwillnotexistIdonotexist: Хорошо заметили. Я думаю, это означает, что вы можете получить одну широкую запись MMIO для смежных немаскированных элементов или две узкие. Но выполнение одного выровненного 8-байтового атомарного хранилища все же дает атомарность для 4-байтовых половинок, хотя для MMIO это не так. Поэтому я не думаю, что это исключает атомарность для каждого элемента, потому что специфичная для реализации часть может быть только объединением хранилищ элементов в более широкие и все еще атомарные хранилища.
отрим массив какatomic<int32_t> shared_array[], Что делать, если вы хотите SIMD векторизацииfor(...) sum += shared_array[i].load(memory_order_relaxed)?. Или искать в массиве первый ненулевой элемент или обнулять его диапазон? Это, вероятно, ...
меньший диапазон. Это тот же трюк в обратном порядке, который вы используете для log (x): извлеките экспоненту ввода, чтобы получить log2 (integer_part (x)).
эффективное (быстрое) приближение экспоненциальной функции, работающей с элементами AVX (плавающая точка одинарной точности). А именно -__m256 _mm256_exp_ps( __m256 x ) без SVML. Относительная точность должна быть примерно равна ~ 1e-6 или ~ 20 ...
@Zboson: GPU mandelbrot, вероятно, не о масштабировании или его полезности, а скорее о хорошо известной и простой проблеме с очень высокой вычислительной интенсивностью / низкой пропускной способностью памяти. (И цепочка зависимости данных, которая может ограничивать ILP). На этой странице были и другие ориентиры, но мне нравится Мандельброт.
ли выполнить арифметику с плавающей запятой половинной точности на чипах Intel? Я знаю, как загружать / хранить / преобразовывать числа с плавающей запятой половинной точности [1], но я не знаю, как добавить / умножить их без преобразования в ...
микро-слияния. Глупые, глючные инструменты с закрытым исходным кодом.) Во всяком случае, это поднимает планку еще больше, чтобы любой другой подход конкурировать.
у ускорить следующую операцию с инструкциями AVX2, но я не смог найти способ сделать это. Мне дали большой массивuint64_t data[100000] из uint64_t и массивunsigned char indices[100000] байтов. Я хочу вывести массивuint64_t Out[256] где i-е ...