Публикации по теме '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