Вопросы по теме 'intrinsics'
Как использовать встроенные функции MSVC, чтобы получить эквивалент этого кода GCC?
Следующий код вызывает встроенные функции для clz/ctz в GCC, а в других системах имеет версии C. Очевидно, что версии C немного неоптимальны, если в системе есть встроенная инструкция clz/ctz, как в x86 и ARM.
#ifdef __GNUC__
#define clz(x)...
23913 просмотров
schedule
25.09.2022
Программа Intrinsics (SSE) - g++ - нужна помощь
Это первый раз, когда я публикую вопрос в stackoverflow, поэтому, пожалуйста, постарайтесь не обращать внимания на любые ошибки, которые я мог допустить при форматировании моего вопроса/кода. Но, пожалуйста, укажите мне то же самое, чтобы я мог быть...
1560 просмотров
schedule
12.03.2022
Уточнение доступа к атомарной памяти для разных ОС
В настоящее время я переношу библиотеку Windows C++ на MacOS в качестве хобби-проекта в качестве учебного опыта. Я наткнулся на некоторый код, использующий функции Win Interlocked*, и поэтому я пытался прочитать об этом предмете в целом.
Читая...
298 просмотров
schedule
01.08.2023
Возможна пользовательская встроенная функция для x64 вместо встроенной сборки?
В настоящее время я экспериментирую с созданием высокооптимизированных многоразовых функций для моей библиотеки. Например, я пишу функцию "степень двойки" следующим образом:
template<class IntType>
inline bool is_power_of_two( const...
2587 просмотров
schedule
29.07.2022
Встроенные функции SSE для сравнения (_mm_cmpeq_ps) и операции присваивания
Я начал оптимизировать свой код с помощью SSE. По сути, это трассировщик лучей, который обрабатывает 4 луча одновременно, сохраняя координаты в __m128 типов данных x, y, z (координаты для четырех лучей сгруппированы по осям). Однако у меня есть...
3813 просмотров
schedule
11.04.2022
распечатать переменную __m128i
Я пытаюсь научиться кодировать с использованием встроенных функций, и ниже приведен код, который добавляет
compiler used: icc
#include<stdio.h>
#include<emmintrin.h>
int main()
{
__m128i a = _mm_set_epi32(1,2,3,4);...
26757 просмотров
schedule
21.07.2022
Поведение встроенной функции fortran sqrt()
У меня есть сценарий, в котором я пытаюсь выполнить сложное приложение в AIX и Linux.
Во время выполнения код использует встроенную функцию sqrt() для вычислений, но полученный результат отличается на обеих машинах.
Кто-нибудь знает причину...
502 просмотров
schedule
14.07.2023
Кто-нибудь знает, как использовать встроенные функции Neon uint8x8_t vclt_s8 (int8x8_t, int8x8_t)
Я хочу сравнить 2 int8x8_t , из http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html мы можем получить описание для vclt_s8 , но оно не дает нам подробных сведений.
`uint8x8_t vclt_s8 (int8x8_t, int8x8_t)`
Форма ожидаемой инструкции...
2019 просмотров
schedule
13.04.2022
Векторизация модульной арифметики
Я пытаюсь написать достаточно быстрый код сложения векторов по компонентам. Я работаю с (подписанными, я полагаю) 64-битными целыми числами.
Функция
void addRq (int64_t* a, const int64_t* b, const int32_t dim, const int64_t q) {
for(int i...
1854 просмотров
schedule
23.06.2022
SSE: Должен ли я установить маску перемешивания как статическую переменную или нет?
Если в функции мне нужна фиксированная маска перемешивания, следует ли мне установить ее как const или static const ?
const __m128i SHUFFLE_MASK = _mm_setr_epi8(0, 4, 8, 12, -1, -1, -1, -1,
-1, -1,...
402 просмотров
schedule
11.01.2023
Встроенные функции SSE2 — сравнение 2 __m128i, содержащих по 4 int32 в каждом, чтобы увидеть, сколько из них равны
Я впервые погружаюсь во встроенные функции SSE2 и не знаю, как это сделать.
Я хочу сравнить 4 int32 с 4 другими int32 и подсчитать, сколько из них равны. Итак, я прочитал свои первые 4 int32, установил их в __m128i, сделал то же самое для второго...
653 просмотров
schedule
03.11.2022
Когда компилятор переупорядочивает инструкции AVX на Sandy, влияет ли это на производительность?
Пожалуйста, не говорите, что это преждевременная микрооптимизация. Я хочу понять, насколько это возможно, учитывая мои ограниченные знания, как работает описанная функция и сборка SB, и убедиться, что мой код использует эту архитектурную...
460 просмотров
schedule
30.07.2022
Ошибка сегментации Intel SSE Intrinsics _mm_load_si128,
В настоящее время я работаю с матрицей 5 x 5, используя функции SSE.
Я пытаюсь загрузить x4 128-битные целочисленные значения в регистры xmm следующим образом:
#include <emmintrin.h>
#include <smmintrin.h>...
809 просмотров
schedule
25.07.2022
Потеря точности в fortran fft
У меня проблема с вычислением fft некоторых данных в Fortran. Я не знаю, что-то не так с алгоритмом, округлением, отсутствием точности или чем-то еще.
Вот код
module fft_mod
public :: fft1D
integer,parameter :: cp =...
695 просмотров
schedule
17.04.2022
SSE - сравнить и поставить мое значение?
Я на этой странице встроенного руководства Intel .
Мой sse опыт довольно хрупкий.
Хорошо, у меня есть массив — действительно длинный — целых чисел с именем «источник».
Пример :
Я хочу изменить некоторые из его значений, если они...
189 просмотров
schedule
27.01.2023
адресация беззнакового 16-битного вектора с беззнаковым 32-битным вектором смещения
У меня есть указатель на беззнаковый 16-битный вектор uint16x8_t *_h; Мне нужно добавить к этому указателю рассчитанное беззнаковое 32-битное смещение вектора — смещение выглядит так: uint32x4_t _o32x4; вопрос в том, как это сделать с помощью...
46 просмотров
schedule
20.02.2023
С++ встроенные функции SSE atan2
Мне нужен очень быстрый atan2 для получения градиента из значений sobel (я реализую алгоритм canny edge). Кто-нибудь знает очень быструю реализацию, предпочтительнее во встроенных функциях (SIMD) или очень быстром приближении. (Думаю, приближения...
1235 просмотров
schedule
25.02.2022
Внутренности SIMD: _mm_stream_load_si128 против _mm_load_si128
Когда мне следует использовать потоковую версию, а когда SSE2 или _mm_load_si128? Каков компромисс производительности?
3926 просмотров
schedule
29.09.2022
Встроенные трансляции с встроенными функциями и сборкой
В разделе 2.5.3 «Трансляции» Справочник по программированию расширений набора инструкций архитектуры Intel , что мы узнаем, чем у AVX512 (и Knights Corner) есть
битовое поле для кодирования широковещательных данных для некоторых инструкций...
961 просмотров
schedule
09.03.2022
Как запретить GCC нарушить мои внутренние функции NEON?
Мне нужно написать оптимизированный код NEON для проекта, и я совершенно счастлив писать на ассемблере, но для переносимости / ремонтопригодности я использую инстринсики NEON. Этот код должен быть как можно более быстрым, поэтому я использую свой...
2281 просмотров
schedule
01.03.2023