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

3 ответа

добавление компонентов регистра SSE

Я хочу добавить четыре компонента регистра SSE, чтобы получить один float. Вот как я это делаю сейчас: float a[4]; _mm_storeu_ps(a, foo128); float x = a[0] + a[1] + a[2] + a[3];Есть ли инструкция SSE, которая непосредственно достигает этого?

2 ответа

Как мне преобразовать _m128i в неподписанное int с SSE?

Я сделал функцию для постеризации изображений. // =( #define ARGB_COLOR(a, r, g, b) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)) inline UINT PosterizeColor(const UINT &color, const float &nColors) { __m128 clr = _mm_cvtepi32_ps( ...

3 ответа

SSE медленнее чем FPU?

У меня есть большой кусок кода, часть тела которого содержит этот кусок кода: result = (nx * m_Lx + ny * m_Ly + m_Lz) / sqrt(nx * nx + ny * ny + 1);который я векторизовал следующим образом (все ужеfloat): __m128 r = _mm_mul_ps(_mm_set_ps(ny, ...

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

2 ответа

Общие методы SIMD

Где я могу найти информацию о распространенных трюках SIMD? У меня есть набор инструкций, и я знаю, как написать не хитрый SIMD-код, но я знаю, что SIMD теперь намного мощнее. Может содержать сложный условный код без ответвлений. Например ...

2 ответа

SSE: преобразовать короткое целое в число с плавающей точкой

Я хочу преобразовать массив беззнаковых коротких чисел для плавания с использованием SSE. Скажем __m128i xVal; // Has 8 16-bit unsigned integers __m128 y1, y2; // 2 xmm registers for 8 float valuesЯ хочу первые 4 uint16 в y1 и следующие 4 uint16 ...

2 ответа

Количество вычислительных блоков, соответствующих количеству рабочих групп

Мне нужно немного разъяснений. Я разрабатываю OpenCL на своем ноутбуке с небольшим графическим процессором NVIDIA (310M). Когда я запрашиваю устройство дляCL_DEVICE_MAX_COMPUTE_UNITS, результат равен 2. Я прочитал, что количество рабочих групп ...

3 ответа

Самый быстрый способ сделать горизонтальную векторную сумму с помощью инструкций AVX [дубликат]

На этот вопрос уже есть ответ здесь: Получить сумму значений, хранящихся в __m256d с помощью SSE / AVX [/questions/49941645/get-sum-of-values-stored-in-m256d-with-sse-avx] 2 ответаУ меня есть упакованный вектор из четырех 64-битных значений с ...

3 ответа

Методы векторизации гистограммы в SIMD?

Я пытаюсь реализовать гистограмму в Неоне. Можно ли векторизовать?

4 ответа

вывести переменную __m128i

Я пытаюсь научиться кодировать с использованием встроенных функций и ниже код, который делает дополнение compiler used: icc #include<stdio.h> #include<emmintrin.h> int main() { __m128i a = _mm_set_epi32(1,2,3,4); __m128i b = ...

2 ответа

Реверсировать регистр AVX, содержащий двойные числа, используя единственный внутренний AVX

Если у меня есть регистр AVX с 4 двойными в них, и я хочу сохранить обратное в другом регистре, возможно ли это сделать с помощью одной встроенной команды? Например: если бы у меня было 4 числа с плавающей точкой в регистре SSE, я мог бы ...