0
ответов

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

Я хочу преобразовать массив коротких чисел без знака в число с плавающей запятой с помощью SSE. Допустим, __m128i xVal; // Имеет 8 16-битных целых чисел без знака __m128 y1, y2; // 2 регистра xmm для 8 значений с плавающей запятой Я хочу ...
вопрос задан: 6 February 2012 14:50
0
ответов

Как преобразовать long long (или __int64) в __m64

Как правильно преобразовать значение __int64 в значение __m64 для использования с SSE?
вопрос задан: 30 January 2012 09:55
0
ответов

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

У меня есть большой фрагмент кода, часть тела которого содержит этот фрагмент кода: result = (nx * m_Lx + ny * m_Ly + m_Lz) / sqrt (nx * nx + ny * ny + 1); который я векторизовал следующим образом (все ...
вопрос задан: 13 January 2012 08:46
0
ответов

Как перемещать 128-битные значения между регистрами XMM?

На первый взгляд тривиальная проблема при сборке: я хочу скопировать весь регистр XMM0 в XMM3. Я пробовал movdq xmm3, xmm0, но MOVDQ нельзя использовать для перемещения значений между двумя регистрами XMM. Что мне делать ...
вопрос задан: 29 December 2011 17:58
0
ответов

Эквивалент _mm_alignr_epi8 (PALIGNR) в AVX2

В SSE3 инструкция PALIGNR выполняет следующее: PALIGNR объединяет целевой операнд (первый операнд) и исходный операнд (второй операнд) в промежуточную композицию, ...
вопрос задан: 15 December 2011 10:05
0
ответов

Добавление векторизованных массивов C #

Есть ли способ «векторизовать» добавление элементов по массивам в режиме SIMD? Например, я хотел бы включить: var a = new [] {1, 2, 3, 4}; var b = new [] {1, 2, 3, 4}; {{1} } var c = new [] {...
вопрос задан: 21 November 2011 16:11
0
ответов

Самый быстрый способ вычисления квадрата расстояния

Мой код в значительной степени полагается на вычисление расстояний между двумя точками в трехмерном пространстве. Чтобы избежать дорогостоящего квадратного корня, я использую квадрат расстояния повсюду. Но тем не менее, он занимает большую часть ...
вопрос задан: 10 November 2011 10:19
0
ответов

Получаю ли я снижение производительности при смешивании инструкций SIMD и многопоточности

Мне было интересно сделать проект о распознавании лиц (чтобы использовать набор инструкций SIMD). Но в течение первого семестра текущего года я кое-что узнал о потоках, и я был ...
вопрос задан: 8 November 2011 04:03
0
ответов

переупорядочивание 3D векторных триплетов в основном порядке колонок происходит медленно

У меня есть множество (x1,y1,z1),(x2,y2,z2),(x3,y3,z3) векторных триплетов одинарной точности, и я хочу переупорядочить их, так что (x1,y1,z1),(x2,y2,z2),(x3,y3,z3) становится (x1,x2,x3,0,y1,y2,y3,0,z1,z2,z3,0) ...
вопрос задан: 7 November 2011 20:40
0
ответов

Является ли переменная __m128i нулем?

Как проверить, имеет ли переменная __m128i ненулевое значение на процессорах SSE-2 и более ранних версий?
вопрос задан: 3 November 2011 03:18
0
ответов

Распределение OpenCL

I В настоящее время я разрабатываю приложение OpenCL для очень разнородного набора компьютеров (в частности, с использованием JavaCL). Чтобы максимизировать производительность, я хочу использовать графический процессор, если он доступен в противном случа
вопрос задан: 13 October 2011 19:30
0
ответов

Быстрое векторизованное преобразование из RGB в BGRA

В ответ на некоторые предыдущие вопросы о преобразовании RGB в RGBA и ARGB в BGR , Я хотел бы ускорить преобразование RGB в BGRA с помощью SSE. Предположим, 32-битная машина, и вы хотели бы использовать ...
вопрос задан: 27 September 2011 09:39
0
ответов

Инструкция по инструкции Micro-оптимизации SSE

Я заметил, что иногда MSVC 2010 не перенаправляет SSE Инструкция вообще. Я думал, что мне не нужно было заботиться о порядке инструкций внутри моей петли, так как компилятор обрабатывает, что лучше всего, что ...
вопрос задан: 27 September 2011 09:38
0
ответов

Как лучше всего загрузить 2 невыровненных 64-битных значения в регистр sse с SSSE3?

Есть 2 указателя на 2 невыровненных 8-байтовых фрагмента, которые должны быть загружены в регистр xmm. Если возможно, с использованием встроенных функций. И, если возможно, без использования вспомогательного регистра. Без pinsrd. (SSSE Core 2 )
вопрос задан: 27 August 2011 23:16
0
ответов

Как я могу обменять младшие 128 бит и старшие 128 бит в 256-битном регистре AVX (YMM)

Я портирую SSE SIMD-код для использования 256-битных расширений AVX и не могу найти ни одной инструкции, которая будет смешивать / перемешивать / перемещать высокие 128 бит и младшие 128 бит. Вспомогательная история: Что ...
вопрос задан: 27 August 2011 21:37
0
ответов

Векторизация (SIMD) операции с деревом

Каковы некоторые общие советы / указатели по операциям векторизации дерева? С точки зрения компоновки памяти, алгоритмов и т. Д. Некоторые вещи, специфичные для предметной области: у каждого родительского узла будет довольно много (20 - 200) дочерних уз
вопрос задан: 26 August 2011 23:44
0
ответов

NEON vs Intel SSE - эквивалентность определенных операций

У меня возникли некоторые проблемы с выяснением эквивалентности NEON пары операций Intel SSE. Кажется, что NEON не может обрабатывать сразу весь регистр Q (тип данных со 128-битным значением). Я ...
вопрос задан: 26 August 2011 10:15
0
ответов

Справочник по встроенным функциям SSE [closed]

Кто-нибудь знает ссылку, в которой перечислены операции встроенных функций SSE для gcc, то есть функции в файлах заголовков <* mmintrin.h> ? Спасибо.
вопрос задан: 22 August 2011 19:07
0
ответов

SIMD intrintsekoentzako erreferentzia eskuliburua / tutoriala? [itxita]

Hauek kode batzuen errendimendua hobetzeko erabiltzea aztertzen ari naiz, baina dokumentazio ona zaila dela dirudi * mmintrin.h goiburuetan definitutako funtzioetarako, inork emango al dit ...
вопрос задан: 6 August 2011 08:57
0
ответов

Бесплатная / открытая библиотека C / C ++ векторных математических функций? [закрыто]

Я ищу бесплатную библиотеку C / C ++ с открытым исходным кодом (либо допустимую), содержащую векторизованные версии общих математических функций (таких как ln или exp), аналогичную векторной математической библиотеке Intel для Linux. Я бы хотел ...
вопрос задан: 3 August 2011 09:11
0
ответов

Постоянные числа с плавающей точкой с SIMD

Я пробовал свои силы в оптимизации некоторого кода, который у меня есть, используя встроенные функции sse от Microsoft. Одна из самых больших проблем при оптимизации моего кода - это LHS, возникающая всякий раз, когда я хочу использовать константу. ...
вопрос задан: 3 July 2011 21:05
0
ответов

эффективный способ преобразования индексов разброса в индексы сбора?

Я пытаюсь написать сжатие потока (взять массив и избавиться от пустых элементов) с внутренними функциями SIMD. Каждая итерация цикла обрабатывает 8 элементов за раз (ширина SIMD). С помощью встроенных функций SSE ...
вопрос задан: 7 June 2011 19:36
0
ответов

Библиотека SIMD C ++

Я использую Visual Studio с математической библиотекой DiretX XNA. Теперь я использую коллекцию компиляторов GNU. Посоветуйте мне математическую библиотеку SIMD с хорошей документацией.
вопрос задан: 22 May 2011 22:54
0
ответов

Есть ли расширения Lisp для CUDA?

Я только что заметил, что одним из первых языков для машины соединений WD Hillis был * Lisp , расширение Common Lisp с параллельными конструкциями. Connection-Machine была массово параллельным ...
вопрос задан: 18 May 2011 15:18
0
ответов

Как сравнить типы __m128?

__ m128 a; __m128 b; How to code a != b ? what to use: _mm_cmpneq_ps or _mm_cmpneq_ss ? How to process the result ? Can't find adequate docs.
вопрос задан: 18 May 2011 09:56
0
ответов

Профилирование SIMD-кода

ОБНОВЛЕНО - Отметьте ниже. Сделайте это как можно короче. С радостью добавлю дополнительную информацию, если потребуется. У меня есть код sse для нормализации вектора. Я использую QueryPerformanceCounter () (завернутый в ...
вопрос задан: 28 April 2011 14:54
0
ответов

Intel SSE: Почему `_mm_extract_ps` возвращает ʻint` вместо` float`?

Почему _mm_extract_ps возвращает int вместо float? Как правильно читать одиночный float из регистр XMM в C? Или, скорее, это можно задать по-другому: что противоположно ...
вопрос задан: 3 April 2011 00:28
0
ответов

выполняет перезапись имеет смысл memcpy / memcmp /… с инструкциями SIMD

Имеет ли смысл переписывание memcpy / memcmp / ... с инструкциями SIMD в крупномасштабном программном обеспечении? Если да, то почему gcc не • по умолчанию генерировать инструкции simd для этих библиотечных функций. Кроме того, есть ...
вопрос задан: 16 March 2011 05:21
0
ответов

Может ли CUDA использовать расширения SIMD?

Я немного погуглил, но сейчас мне непонятно, могут ли некоторые графические процессоры, запрограммированные с помощью CUDA, использовать преимущества или могут использовать инструкции, похожие на от расширений SSE SIMD; например ...
вопрос задан: 8 March 2011 21:48
0
ответов

Почему SSE set (_mm_set_ps) меняет порядок аргументов

Недавно я заметил, что _m128 m = _mm_set_ps (0,1,2,3); помещает 4 числа с плавающей запятой в обратный порядок при преобразовании в массив с плавающей запятой: (float *) p = (float *) (& m); // p [0] == 3 // p [1] == 2 // p [2] == 1 // p [3] ...
вопрос задан: 8 March 2011 20:47