Вопросы по теме 'sse2'
Ошибка компилятора SSE2
Я пытаюсь взломать SSE2 и попробовал следующий пример программы :
#include "stdafx.h"
#include <emmintrin.h>
int main(int argc, char* argv[])
{
__declspec(align(16)) long mul; // multiply variable
__declspec(align(16)) int t1[100000];...
1065 просмотров
schedule
12.08.2022
SSE2 - динамическое выделение памяти с выравниванием по 16 байт
РЕДАКТИРОВАТЬ:
Это продолжение ошибки компилятора SSE2
Это настоящая ошибка, с которой я сталкивался раньше и воспроизведенную ниже, изменив оператор _mm_malloc на Майкл Берр предложил:
Необработанное исключение 0x00415116 в...
3098 просмотров
schedule
04.05.2022
numpy вызывает sse2 через ctypes
Вкратце, я пытаюсь вызвать общую библиотеку из python, точнее, из numpy. Общая библиотека реализована на C с использованием инструкций sse2. Включив оптимизацию, т.е. создав библиотеку с параметрами -O2 или –O1, я столкнулся со странными segfaults...
1191 просмотров
schedule
25.06.2023
Расширенная (80-битная) двойная плавающая точка в x87, а не в SSE2 — мы ее не пропустили?
Сегодня я читал о исследователи обнаружили, что библиотеки NVidia Phys-X используют x87 FP вместо SSE2 . Очевидно, что это будет неоптимально для параллельных наборов данных, где скорость превосходит точность. Однако автор статьи продолжает...
11746 просмотров
schedule
16.06.2023
Как проверить, поддерживает ли ваш Linux SSE2
Собственно у меня 2 вопроса:
Является ли совместимость SSE2 проблемой процессора или проблемой компилятора?
Как проверить, поддерживает ли ваш процессор или компилятор SSE2?
Я использую версию GCC:
gcc (GCC) 4.5.1
Когда я...
22268 просмотров
schedule
17.05.2023
64-битный встроенный SIMD
Я использую следующее объявление объединения в SSE2.
typedef unsigned long uli;
typedef uli v4si __attribute__ ((vector_size(16)));
typedef union
{
v4si v;
uli data[2];
} uliv;
uliv a, b, c;
Идея состоит в том, чтобы...
1532 просмотров
schedule
13.01.2023
SIMD-код работает медленнее, чем скалярный код
elma и elmc оба unsigned long массивы. Таковы res1 и res2 .
unsigned long simdstore[2];
__m128i *p, simda, simdb, simdc;
p = (__m128i *) simdstore;
for (i = 0; i < _polylen; i++)
{
u1 = (elma[i] >> l) & 15;...
3821 просмотров
schedule
15.03.2024
Строгий псевдоним и тип __m128i
При использовании встроенных функций SSE2 для выполнения побитовых операций необходимо привести указатели от int* к __m128i* . Нарушает ли этот код строгое правило псевдонимов?
void bit_twiddling_func(int size, int const* input, int* output)...
856 просмотров
schedule
13.09.2023
SSE2 для двойных вычислений с GCC
Как я могу использовать SSE2 в GCC? Я хочу работать с двойными значениями.
Я ищу что-л. например: http://vrm-vrm.blogspot.com/2009/10/gcc-intrinsics.html только для двойных значений.
1730 просмотров
schedule
18.06.2023
Преобразование встроенного ассемблера GCC (SSE2, SSSE3) в встроенные функции MSVC
Я заимствую некоторый код из VLC для своего видеоплеера, написанного на MSVC++ 2010, и не могу найти эквивалент его встроенных asms, связанных с извлечением декодированного видеокадра из памяти GPU в обычную память. В частности, я не знаю, как...
1050 просмотров
schedule
29.05.2022
Как оптимизировать эту функцию Delphi с помощью SSE2?
Мне нужна подсказка, как реализовать эту функцию Delphi, используя сборку SSE2 (32 бита). Приветствуются и другие оптимизации. Может быть, кто-нибудь может сказать мне, какие инструкции можно было бы использовать, чтобы у меня была отправная точка...
1607 просмотров
schedule
26.10.2023
SSE2, Visual Studio 2010 и отладочная сборка
Может ли компилятор автоматически использовать SSE2, когда оптимизация отключена?
Когда оптимизация отключена, означает ли что-нибудь флаг /arch:SSE2?
Мне дали задание выжать больше производительности из нашего программного обеспечения. К...
3915 просмотров
schedule
29.03.2022
странная ошибка во время приведения к __m128i
Я пытаюсь преобразовать беззнаковый короткий массив в __m128i :
const unsigned short x[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
const unsigned short y[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
__m128i n =...
2496 просмотров
schedule
10.03.2023
Как добавить все элементы в массив с помощью SSE2?
Предположим, у меня есть очень простой код, например:
double array[SIZE_OF_ARRAY];
double sum = 0.0;
for (int i = 0; i < SIZE_OF_ARRAY; ++i)
{
sum += array[i];
}
Я в основном хочу делать те же операции, используя SSE2. Как я могу это...
3245 просмотров
schedule
18.05.2022
Инструкция SSE2 для преобразования регистра 8x16 в два регистра 4x32, имеющих четные и нечетные индексированные элементы.
Есть ли какая-либо инструкция SSE2 для преобразования регистра 8x16 в два регистра 4x32, один регистр 4x32 с нечетными индексированными элементами из регистра 8x16, а другой - с четными индексированными элементами? Пожалуйста, предложите.
454 просмотров
schedule
03.05.2024
Где я могу найти хорошую реализацию exp(double) с использованием инструкций SSE2 на x86/x64?
Я установил, что реализации Microsoft exp(double) в библиотеке C VS2010 используют разные алгоритмы на платформах Win32 (т. е. 32-разрядная x86) и x64, хотя я включил SSE2 для платформы x86 и проверил, путь кода берется в exp(). К сожалению, разные...
277 просмотров
schedule
13.10.2022
C: x86 Intel Intrinsics использует _mm_log2_ps() -> ошибка: несовместимый тип 'int'?
Я пытаюсь применить log2 к переменной __m128. Как это:
#include <immintrin.h>
int main (void) {
__m128 two_v = {2.0, 2.0, 2.0, 2.0};
__m128 log2_v = _mm_log2_ps(two_v); // log_2 := log(2)
return 0;
}
Попытка скомпилировать...
466 просмотров
schedule
13.09.2022
Храните четыре 16-битных целых числа с помощью встроенных функций SSE
Я умножаю и округляю четыре 32-битных числа с плавающей запятой, а затем конвертирую их в четыре 16-битных целых числа с помощью встроенных функций SSE. Я хочу сохранить четыре целочисленных результата в массиве. С поплавками это просто:...
3043 просмотров
schedule
11.06.2022
Не определено ли целочисленное переполнение SSE2?
Знаковое целочисленное переполнение не определено в C и C ++. Но как насчет подписанного целочисленного переполнения в отдельных полях __m128i ? Другими словами, определено ли такое поведение в стандартах Intel?
#include <inttypes.h>...
441 просмотров
schedule
27.07.2022
Почему strcmp не оптимизирован для SIMD?
Я попытался скомпилировать эту программу на компьютере x64:
#include <cstring>
int main(int argc, char* argv[])
{
return ::std::strcmp(argv[0],
"really really really really really really really really really"
"really really really...
9760 просмотров
schedule
04.11.2022