Результаты поиска по запросу "avx"

1 ответ

Почему этот код SSE в 6 раз медленнее без VZEROUPPER на Skylake?

Я пытался выяснить проблему с производительностью в приложении и, наконец, сузил ее до действительно странной проблемы. Следующий фрагмент кода работает в 6 ...

0 ответов

Конвенция для отображения векторных регистров

3 ответа

 флаг тоже не на hwcaps (эта часть может быть исправлена ​​в некоторых случаях с помощью LD_BIND_NOW = 1).

ТОП публикаций

4 ответа

Если вы не уверены, что это хорошая идея, просто сделайте ее простой и используйте одну и ту же переменную для всех 3 входов:

ое воображение, или

1 ответ

, но он поддерживает другие встроенные функции в моем коде.

тирую следующую простую функцию

0 ответов

github.com/WojciechMula/sse-popcount/blob/master/...

множения больших двоичных матриц (10Kx20K) я обычно преобразую матрицы в числа с плавающей запятой и выполняю умножение матрицы с плавающей запятой, так как умножение целочисленной матрицы выполняется довольно медленно (посмотрите ...

0 ответов

@IwillnotexistIdonotexist: Хорошо заметили. Я думаю, это означает, что вы можете получить одну широкую запись MMIO для смежных немаскированных элементов или две узкие. Но выполнение одного выровненного 8-байтового атомарного хранилища все же дает атомарность для 4-байтовых половинок, хотя для MMIO это не так. Поэтому я не думаю, что это исключает атомарность для каждого элемента, потому что специфичная для реализации часть может быть только объединением хранилищ элементов в более широкие и все еще атомарные хранилища.

отрим массив какatomic<int32_t> shared_array[], Что делать, если вы хотите SIMD векторизацииfor(...) sum += shared_array[i].load(memory_order_relaxed)?. Или искать в массиве первый ненулевой элемент или обнулять его диапазон? Это, вероятно, ...

3 ответа

 меньший диапазон. Это тот же трюк в обратном порядке, который вы используете для log (x): извлеките экспоненту ввода, чтобы получить log2 (integer_part (x)).

эффективное (быстрое) приближение экспоненциальной функции, работающей с элементами AVX (плавающая точка одинарной точности). А именно -__m256 _mm256_exp_ps( __m256 x ) без SVML. Относительная точность должна быть примерно равна ~ 1e-6 или ~ 20 ...

1 ответ

@Zboson: GPU mandelbrot, вероятно, не о масштабировании или его полезности, а скорее о хорошо известной и простой проблеме с очень высокой вычислительной интенсивностью / низкой пропускной способностью памяти. (И цепочка зависимости данных, которая может ограничивать ILP). На этой странице были и другие ориентиры, но мне нравится Мандельброт.

ли выполнить арифметику с плавающей запятой половинной точности на чипах Intel? Я знаю, как загружать / хранить / преобразовывать числа с плавающей запятой половинной точности [1], но я не знаю, как добавить / умножить их без преобразования в ...

2 ответа

 микро-слияния. Глупые, глючные инструменты с закрытым исходным кодом.) Во всяком случае, это поднимает планку еще больше, чтобы любой другой подход конкурировать.

у ускорить следующую операцию с инструкциями AVX2, но я не смог найти способ сделать это. Мне дали большой массивuint64_t data[100000] из uint64_t и массивunsigned char indices[100000] байтов. Я хочу вывести массивuint64_t Out[256] где i-е ...