Публикации по теме 'sse'


Самодельный инструмент Kafka Topic Watcher  — Node, Express, Server Sent Events и Apache Kafka
Эту статью можно читать как минимум двумя способами: Как несколько длинное введение в удобный инструмент, который вы можете легко запустить для проверки сообщений, опубликованных в темах в кластере Kafka. В качестве подробного, но базового примера того, как объединить несколько методов для создания сквозного (push) конвейера от Kafka Topic (на сервере или в облаке) до клиентского браузера (включая: Node & node-rdkafka, Express и Server Отправленные события, DHTML и JavaScript на стороне..

Вопросы по теме 'sse'

Что означает доступ к невременной памяти в x86
Это вопрос довольно низкого уровня. В сборке x86 есть две инструкции SSE: MOVDQA xmmi, m128 а также MOVNTDQA xmmi, m128 В Руководстве разработчика программного обеспечения IA-32 говорится, что NT в MOVNTDQA...
40055 просмотров
schedule 10.04.2022

GCC - Как перестроить стек?
Я пытаюсь создать приложение, которое использует pthreads и тип __m128 SSE. Согласно руководству GCC, выравнивание стека по умолчанию составляет 16 байт. Чтобы использовать __m128, требуется выравнивание по 16 байтам. Мой целевой процессор...
4572 просмотров
schedule 11.09.2022

Использование C / C ++ специальных функций ЦП
Мне любопытно, используют ли новые компиляторы некоторые дополнительные функции, встроенные в новые процессоры, такие как MMX SSE, 3DNow! и так? Я имею в виду, что в оригинальном 8086 не было даже FPU, поэтому старый компилятор даже не может его...
2400 просмотров
schedule 07.06.2023

Новичок в SIMD / SSE: простая фильтрация изображений
Я очень новичок в SIMD / SSE, и я пытаюсь выполнить простую фильтрацию изображений (размытие). Приведенный ниже код фильтрует каждый пиксель 8-битного серого растрового изображения с простым взвешиванием [1 2 1] по горизонтали. Я создаю суммы по 16...
3162 просмотров
schedule 29.04.2022

встроенная сборка sse с g++
Я пробую встроенную сборку g++ и sse и написал первую программу. Это segfaults - почему? #include <stdio.h> float s[128*4] __attribute__((aligned(16))); #define r0 3 #define r1 17 #define r2 110 #define rs0 "3" #define rs1 "17" #define...
1929 просмотров
schedule 18.05.2023

SSE2: функция журнала двойной точности
Мне нужна реализация функции журнала с открытым исходным кодом (без ограничений по лицензии), что-то с подписью __m128d _mm_log_pd(__m128d); Он доступен в библиотеке Intel Short Vector Math Library (часть ICC), но ICC не является ни...
2744 просмотров
schedule 28.09.2022

Использование SSE для ускорения функции lower_bound
В проекте, над которым я сейчас работаю, мне часто нужно найти самый низкий возможный индекс в отсортированном массиве, в который можно вставить элемент (например, std::lower_bound в C++). Мне кажется довольно привлекательным использовать SSE для...
540 просмотров
schedule 02.02.2023

Диспетчеризация процессора x86 для SSE / AVX в C ++
У меня есть алгоритм, который выигрывает от ручной оптимизации с помощью встроенных функций SSE (2). Кроме того, в будущем алгоритм сможет использовать 256-битные регистры AVX. Мой вопрос в том, как лучше всего Зарегистрируйте варианты...
816 просмотров
schedule 10.10.2022

Самый производительный способ вычитания одного массива из другого
У меня есть следующий код, который является узким местом в одной части моего приложения. Все, что я делаю, это вычитаю массив из другого. Оба этих массива содержат более 100 000 элементов. Я пытаюсь найти способ сделать это более производительным....
1964 просмотров
schedule 27.03.2023

Выравнивание векторов в выводе LLVM amd64
Я пытаюсь использовать векторы внутри структур с LLVM. У меня есть следующее определение C моей структуры: struct Foo { uint32_t len; uint32_t data[32] __attribute__ ((aligned (16))); }; и вот код LLVM для добавления 42 к элементу...
885 просмотров
schedule 17.06.2023

Имеет ли смысл переписывать memcpy/memcmp/ с SIMD-инструкциями?
Имеет ли смысл переписывать memcpy/memcmp/... с инструкциями SIMD в крупномасштабном программном обеспечении? Если да, то почему GCC по умолчанию не генерирует SIMD-инструкции для этих библиотечных функций? Кроме того, есть ли какие-либо другие...
7368 просмотров
schedule 25.03.2023

Билинейный фильтр со встроенными функциями SSE4.1
Я пытаюсь найти достаточно быструю функцию билинейной фильтрации только для одного отфильтрованного образца за раз в качестве упражнения по привыканию к использованию встроенных функций - до SSE41 все в порядке. Пока у меня есть следующее:...
1347 просмотров
schedule 13.03.2023

Код, оптимизированный для SSE, работает так же, как и обычная версия.
Я хотел сделать свои первые шаги с Intel SSE, поэтому я следовал руководству, опубликованному здесь , с той разницей, что вместо разработки для Windows и C++ я делаю это для Linux и C (поэтому я использую не _aligned_malloc , а posix_memalign )....
1763 просмотров
schedule 21.07.2023

Использование инструкций процессора AVX: низкая производительность без / arch: AVX
В моем коде на C ++ используется SSE, и теперь я хочу улучшить его для поддержки AVX, когда он будет доступен. Поэтому я определяю, когда доступен AVX, и вызываю функцию, использующую команды AVX. Я использую Win7 SP1 + VS2010 SP1 и процессор с AVX....
30106 просмотров
schedule 12.04.2022

Оптимизация сжатия массива
Допустим, у меня есть массив k = [1 2 0 0 5 4 0] Я могу вычислить маску следующим образом m = k > 0 = [1 1 0 0 1 1 0] Используя только маску m и следующие операции Сдвиг влево/вправо И/или Сложить/вычесть/умножить Я могу...
3270 просмотров
schedule 08.04.2022

Ошибка SSE в моем процессоре?
Я очень озадачен. Когда я запускаю этот код в Visual C++ 2008: __m128i a, b; a.m128i_u64[0] = 1; b.m128i_u64[0] = 0; a.m128i_u64[1] = 0; b.m128i_u64[1] = 0; printf("%d\n", _mm_testc_si128(a, b)); он печатает 1 . Что противоречит тому,...
290 просмотров
schedule 24.05.2022

Как выполнить матричную операцию 8 x 8 с помощью SSE?
Моя первоначальная попытка выглядела так (предположим, мы хотим умножить) __m128 mat[n]; /* rows */ __m128 vec[n] = {1,1,1,1}; float outvector[n]; for (int row=0;row<n;row++) { for(int k =3; k < 8; k = k+ 4) {...
961 просмотров
schedule 02.04.2024

Можно ли скомпилировать код OpenCL в обычные двоичные файлы без OpenCL?
Я оцениваю OpenCL для своих целей. Мне пришло в голову, что вы не можете предположить, что он работает «из коробки» ни на Windows, ни на Mac, потому что: Windows нужен драйвер OpenCL (который, конечно, можно установить) MacOS поддерживает...
783 просмотров
schedule 26.02.2023

Самый эффективный способ преобразовать вектор с плавающей запятой в вектор uint32?
Это дополнительный вопрос к этому один . Теперь я хотел бы преобразовать в обратном направлении float -> unsigned int. Какова оптимальная и точная векторная последовательность следующей скалярной операции? float x = ... unsigned int res =...
267 просмотров
schedule 05.12.2022

Загрузка и добавление SSE
Предположим, у меня есть два вектора, представленные двумя массивами типа double , каждый из которых имеет размер 2. Я хотел бы добавить соответствующие позиции. Итак, предположим векторы i0 и i1 , я бы хотел сложить i0[0] + i1[0] и i0[1] +...
2589 просмотров
schedule 23.06.2022