Результаты поиска по запросу "x86"
Только что попробовал второе решение, отлично работает на одном из моих компьютеров, но не удалось другого, возможно, причина старой версии GCC.
ужен такой встроенный код сборки: у меня естьпара(так, это сбалансировано) операции push / pop внутри сборкиУ меня также есть переменная в памяти (так, не регистр) в качестве вводанравится: __asm__ __volatile__ ("push %%eax\n\t" // ... some ...
Да, L1D кэши взаимодействуют друг с другом (через L3 в процессорах Intel), используя MESI. Смотрите мой ответ для более подробной информации.
те предположим, что 2 ядра пытаются записать разные значения в один и тот же адрес ОЗУ (1 байт), в один и тот же момент времени (плюс-минус эта) и без использования каких-либо взаимосвязанных инструкций или барьеров памяти. Что происходит в этом ...
Это зависит от того, насколько велики ваши массивы: если массивы сопоставимы или меньше, чем размер LLC, то вы наверняка получите некоторую выгоду, если будете делать что-то задом наперед, поскольку разумная часть данных последней обработки может находиться в кэше. (но это также осложняется новыми функциями LLC, которые пытаются обнаружить потоковые нагрузки и изменить политику замены кэша при их обнаружении). Более общий подход к этой работе - просто заблокировать вашу обработку: вместо того, чтобы выполнять каждый этап целиком, попробуйте чередовать ...
аюсь векторизовать цикл, вычисляя точечное произведение больших векторов с плавающей точкой. Я вычисляю это параллельно, используя тот факт, что CPU имеет большое количество регистров XMM, например: __m128* A, B; __m128 dot0, dot1, dot2, dot3 = ...
не позволяет вам внести необходимые изменения. Вот почему формулировка первой части звучит так, будто я не согласен с тем, что вы сказали. Во всяком случае, существенное ограничение, ИМО.
зрядный процессор (amd64) поддерживает 32-разрядные инструкции Intel в режиме совместимости. Кроме того, 64-битная установка Linux позволяет запускать ELF, содержащие 32-битные инструкции, если в заголовке ELF указано, что это ...
меньший диапазон. Это тот же трюк в обратном порядке, который вы используете для log (x): извлеките экспоненту ввода, чтобы получить log2 (integer_part (x)).
эффективное (быстрое) приближение экспоненциальной функции, работающей с элементами AVX (плавающая точка одинарной точности). А именно -__m256 _mm256_exp_ps( __m256 x ) без SVML. Относительная точность должна быть примерно равна ~ 1e-6 или ~ 20 ...
что-то это становится менее важным.
отрим следующую сборку x86-64: inner: ... ret outer: .top: call inner dec rdi jnz .top retФункцияouter просто неоднократно делаетcall к функцииinner (чье тело не показано - оно может быть пустым). Делает сериюcall инструкции вouterи ...
этот ряд заканчивается рядом длины
ал проект в ASM о треугольнике Паскаля, используя NASM поэтому в проекте нужно рассчитать паскаль треугольник от линии 0 до линии 63 Моя первая проблема - где хранить результаты расчетов -> память Вторая проблема, какой тип памяти я использую ...
оптимизированная сборка
ел бы написать очень маленький JIT-компилятор, подтверждающий концепцию, для процессора на игрушечном языке, который я написал (чисто академический), но у меня есть некоторые проблемы на средних высотах дизайна. Концептуально, я знаком с тем, как ...
).
аюсь измерить время выполнения некоторых команд в c ++ с использованием физических часов, но столкнулся с проблемой, заключающейся в том, что процесс считывания измерения с физических часов на компьютере может занять много времени. Вот ...
Я не пробовал это на Годболте, но ты мог.
аюIDA Pro Book [https://nostarch.com/idapro2.htm], На странице 86, обсуждая соглашения о вызовах, автор показывает пример соглашения о вызовах cdecl, которое устраняет необходимость для вызывающей стороны очищать аргументы из стека. Я ...