Свързани публикации 'simd'


През 2021 г. все още има ли огромна разлика в производителността между JavaScript и C++ за обвързани с процесора...
Ако смятате, че това е шега, то тази история е за вас Съвсем наскоро публикувах нов плъгин за JS свързванията на GDAL, който в момента поддържам за импортиране и експортиране на N-измерни масиви към scijs . scijs , макар и все още далеч зад съименника си Python, в момента набира все по-голяма популярност, воден от общия успех на JavaScript и V8. Винаги съм знаел, че I/O производителността на Node.js е непобедима в сравнение с други скриптови езици. След това, миналата година,..

Свързани въпроси 'simd'

SIMD (AVX) сравнение
Какво е името на вътрешния елемент на gcc за сравняване на __m256 и __m256i (AVX набор от инструкции)?
6730 изгледи
schedule 14.09.2022

Добре ли е да се създаде голям масив от AVX/SSE стойности
Паралелизирам определен проблем с динамично програмиране, използвайки инструкции AVX2/SSE. В основната итерация на моето изчисление изчислявам колона в матрица, където всяка клетка е структура от AVX2 регистри ( _m256i ). Използвам стойности от...
967 изгледи
schedule 18.09.2022

Използване на SIMD за намиране на най-голямата разлика между два елемента
Написах алгоритъм за получаване на най-голямата разлика между два елемента в std::vector, където по-голямата от двете стойности трябва да бъде с по-висок индекс от по-ниската стойност. unsigned short int min = input.front(); unsigned short...
363 изгледи
schedule 18.09.2022

Кросплатформена SIMD библиотека с подобен API на Accelerate Framework?
Използвам Accelerate Framework, за да подобря производителността на аудио миксер, с много добри резултати в iOS и OSX. Опитвам се да постигна подобни резултати на други платформи и процесорни архитектури - обичайните заподозрени (ARM android, x86 x64...
560 изгледи
schedule 28.09.2022

SIMD кодът работи в Debug, но не и в Release
Този код работи в режим на отстраняване на грешки, но изпада в паника поради твърдението в режим на освобождаване. use std::arch::x86_64::*; fn main() { unsafe { let a = vec![2.0f32, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]; let b =...
324 изгледи
schedule 03.10.2022

SSE: reinterpret_cast‹__m128*› вместо _mm_load_ps
В процес съм на кодиране на проста функция за навиване в C++, започвайки от най-елементарната навивка с "плъзгащ се прозорец" с обикновени продукти (без FFT неща засега), до SEE, AVX и евентуално OpenCL. Все пак срещнах проблем със SSE. Моят код...
1843 изгледи
schedule 08.10.2022

Защо получавам тази грешка при компилиране с GCC 5 и cilk-plus?
По някаква причина cilk_spawn не работи с x86 вътрешни елементи. Получавам грешка всеки път, когато се опитам да комбинирам двете в тялото на една и съща функция. (Имайте предвид, че cilk_for работи добре). Ако премахна всички SIMD инструкции, той...
1100 изгледи
schedule 11.10.2022

Внедряване на бърз брояч в код с паралелни битове
Търся оптимизирана реализация на брояч, вероятно подобен на сивия код, който ще ми позволи бързо да преминавам през числа в нарязан на битове масив. Ако приемем, че имам масива: _m256 header[640]; Трябва да продължа да променям брояч в...
303 изгледи
schedule 28.11.2022

Предоставя ли .NET Framework 4.5 поддръжка за SSE4/AVX?
Мисля, че съм чувал за това, но не знам къде. upd: Казах за JiT
2755 изгледи
schedule 01.11.2022

Модул 2*Pi с помощта на SSE/SSE2
Все още съм доста нов в използването на SSE и се опитвам да внедря модул от 2*Pi за входове с двойна точност от порядъка 1e8 (резултатът от който ще бъде въведен в някои векторизирани тригонометрични изчисления). Сегашният ми опит за кода се...
1480 изгледи
schedule 19.10.2022

Има ли SIMD инструкции за ускоряване на изчисленията на контролната сума?
Ще трябва да кодирам много елементарна функция за контролна сума, нещо като: char sum(const char * data, const int len) { char sum(0); for (const char * end=data+len ; data<end ; ++data) sum += *data; return sum; } Това...
1736 изгледи
schedule 07.11.2023

Може ли да се оптимизира отчитането на съвпаденията на байтове между два низа с помощта на SIMD?
Профилирането предполага, че тази функция тук е истинско препятствие за моето приложение: static inline int countEqualChars(const char* string1, const char* string2, int size) { int r = 0; for (int j = 0; j < size; ++j) { if...
1033 изгледи
schedule 09.11.2023

x64 ymm/SIMD/векторни инструкции, където регистърът ymm е посочен в регистър?
Съществуват ли инструкции за SIMD/векторен регистър, където регистърът ymm е посочен в общ регистър (или SIMD регистър), а не в самата инструкция? По същество това, което се опитвам да направя, е да напиша функция, която записва всяка поредица от...
1841 изгледи
schedule 28.10.2022

Най-бързият начин за хоризонтална векторна сума на SSE (или друга редукция)
Даден е вектор от три (или четири) плувки. Кой е най-бързият начин да ги сумирате? SSE (movaps, shuffle, add, movd) винаги ли е по-бърз от x87? Заслужават ли си инструкциите за хоризонтално добавяне в SSE3? Каква е цената за преминаване към...
35457 изгледи

SIMD/SSE: кратък точков продукт и кратка максимална стойност
Опитвам се да оптимизирам точково произведение на два масива в стил c от contant и малък размер и от тип short. Прочетох няколко документации за SIMD intrinsics и много публикации в блогове/статии за оптимизация на точков продукт с помощта на този...
516 изгледи
schedule 11.01.2024

Масивите, инициализирани като `float[10][10]` вече ли са подравнени в паметта за SIMD/SSE?
Трябва да оптимизирам своето матрично умножение, като използвам SIMD/Intel SSE. Даденият примерен код изглежда така: *x = (float*)memalign(16, size * sizeof(float)); Въпреки това използвам C++ и [found that][1] I вместо malloc (преди да...
1041 изгледи
schedule 18.01.2024

Опитвате се да добавите __m128 с помощта на и маска в SSE програмиране
Опитвам се да използвам резултата от операция за сравнение, за да добавя към SSE променлива. Току-що разбрах, че когато използвам операцията _mm_cmplt_ps , ако резултатът е верен, той връща NAN, защото 0xffffffff не може да бъде представен, което не...
796 изгледи
schedule 23.01.2024

Използването на XMVECTOR от DirectXMath като член на клас причинява срив само в режим на издаване?
Опитвам се да използвам XMVECTOR като член на класа за ограничителна кутия, тъй като правя много изчисления, но използвам XMFLOAT3 само веднъж на кадър, така че ограничителната кутия има метод, който ми дава, че е център в XMFLOAT3 , в противен...
1521 изгледи
schedule 02.04.2024

Ефективно умножаване на голям комплексен вектор със скаларен C++
В момента се опитвам да направя най-ефективно умножение на място на масив от комплексни числа (памет, подравнена по същия начин, по който би бил std::complex, но в момента използвам нашия собствен ADT) с масив от скаларни стойности, който е същият...
2413 изгледи

Моите регионални настройки са английски (Обединеното кралство) с дати като дд/мм/гггг и местоположение е зададено на Обединеното кралство. Всичко останало, като дата/час/клавиатура и т.н., е настроено на UK
2755 изгледи
schedule 01.11.2022