Описание тега fast-math
Параметр компилятора `-ffast-math` (или аналогично названный) торгует точностью и соблюдением стандарта с плавающей запятой IEEE 754 в пользу скорости выполнения
1
ответ
Почему std::inner_product медленнее, чем наивная реализация?
Это моя наивная реализация точечного продукта: float simple_dot(int N, float *A, float *B) { float dot = 0; for(int i = 0; i < N; ++i) { dot += A[i] * B[i]; } return dot; } И это с помощью библиотеки C++: float library_dot(int N, float *A, float …
28 мар '17 в 20:38
1
ответ
gcc -Ofast - полный список ограничений
Я использую -Ofast Опция gcc в моей программе вызывает требования к задержке. Я написал простую тестовую программу: #include <iostream> #include <math.h> static double quiet_NaN = std::numeric_limits<double>::quiet_NaN(); int main(…
05 дек '14 в 12:30
1
ответ
Строгий псевдоним, математика и SSE
Рассмотрим следующую программу: #include <iostream> #include <cmath> #include <cstring> #include <xmmintrin.h> using namespace std; int main() { // 4 float32s. __m128 nans; // Set them all to 0xffffffff which should be NaN. m…
23 май '17 в 11:51
2
ответа
Mingw32 std::isnan с -ffast-math
Я компилирую следующий код с -ffast-math опция: #include <limits> #include <cmath> #include <iostream> int main() { std::cout << std::isnan(std::numeric_limits<double>::quiet_NaN() ) << std::endl; } Я получаю 0 в …
31 авг '11 в 21:05
2
ответа
Как мне скомпилировать с "ffast-math"?
Я пытаюсь протестировать некоторый код Rust, но не могу понять, как установить опцию "ffast-math". % rustc -C opt-level=3 -C llvm-args='-enable-unsafe-fp-math' unrolled.rs rustc: Unknown command line argument '-enable-unsafe-fp-math'. Try: 'rustc -h…
16 июн '15 в 09:19
1
ответ
Что именно делает опция -ffast-math при компиляции с gcc
Может ли кто-нибудь помочь мне понять, что делает опция -ffast-math при компиляции с gcc. Я вижу разницу в 20 секунд во времени выполнения моих программ при выполнении с -O3 и -ffast-math по сравнению только с использованием -O3
25 ноя '13 в 23:04
0
ответов
Включает ли gcc ffast-math векторизацию?
Я сейчас компилирую spec2000 art benchmark, используя следующие 2 флага: -Ofast -m32 -march = родной -Ofast -m32 -march = собственный -fno-tree-vectorize Вторая настройка просто отключить векторизатор. Однако, когда я проверил objdump из двух настро…
30 май '16 в 15:07
1
ответ
Хорошее дозорное значение для double, если вы предпочитаете использовать -ffast-math
Так как gcc вариант -ffast-math эффективно отключает NaN а также -/+infЯ ищу, возможно, следующий лучший вариант для представления NaN в моем критическом по производительности математическом коде. В идеале, значение часового значения, если оно испол…
12 июл '13 в 12:28
1
ответ
Любопытный результат от поведения компоновщика gcc вокруг -ffast-math
Я заметил интересное явление вокруг флагов компоновщика компилятора, влияющее на работающий код способами, которые я не могу понять. У меня есть библиотека, которая представляет различные реализации одного и того же алгоритма, чтобы проверить скорос…
18 дек '15 в 15:29
2
ответа
Когда я должен использовать gcc -Ofast уровень оптимизации?
В xcode 5 уровень оптимизации вводит новый уровень с именем -Ofast Самая быстрая Агрессивная Оптимизация. Когда и как я должен использовать этот уровень?
15 сен '13 в 02:39
1
ответ
Определяет ли опция -use-fast-math умножения SP на внутренние?
Я быстро взглянул на руководство по программированию в CUDA по оптимизации -use-fast-math, и хотя в приложении C упоминаются деления, которые необходимо преобразовать во внутренние, но нет упоминаний о умножениях. Причина, по которой я задаю этот во…
16 июл '12 в 15:26
1
ответ
Ошибка кода AVX при компиляции с -ffast-math?
Я экспериментирую с написанием пары ядер, используя встроенную поддержку sim-карт GCC. У меня есть этот код для тестирования ядра продукта AVX: #include <time.h> #include <stdio.h> #include <assert.h> #include <stdint.h> #inc…
29 апр '16 в 15:50
1
ответ
std::isinf не работает с -ffast-math. как проверить на бесконечность
Образец кода: #include <iostream> #include <cmath> #include <stdint.h> using namespace std; static bool my_isnan(double val) { union { double f; uint64_t x; } u = { val }; return (u.x << 1) > 0x7ff0000000000000u; } int mai…
08 апр '14 в 08:07
4
ответа
Авто векторизация по двойному и быстрому математике
Почему это обязательно использовать -ffast-math с g++ для достижения векторизации циклов, используя doubles? Мне не нравится -ffast-math потому что я не хочу терять точность.
17 май '10 в 20:54
4
ответа
Оптимизация gcc приводит к сбою приложения
У меня действительно странная проблема с использованием GCC для ARM с включенной оптимизацией. Компиляция моего приложения C++ без оптимизации приводит к выполнению исполняемого файла, который во время выполнения выдает ожидаемые результаты. Как тол…
04 окт '10 в 11:04
1
ответ
gcc, simd встроенные функции и понятия fast-math
Всем привет:) Я пытаюсь овладеть некоторыми понятиями, касающимися чисел с плавающей запятой, SIMD/ математических функций и флага быстрой математики для gcc. В частности, я использую MinGW с gcc v4.5.0 на процессоре x86. Я искал вокруг некоторое вр…
11 фев '11 в 07:13
2
ответа
Дает ли какой-либо интенсивный код с плавающей запятой точные результаты в любой архитектуре на базе x86?
Я хотел бы знать, будет ли какой-либо код в C или C++, использующий арифметику с плавающей запятой, давать точные битовые результаты в любой архитектуре на основе x86, независимо от сложности кода. Насколько мне известно, в любой архитектуре x86, на…
26 ноя '14 в 12:59
1
ответ
Почему GCC или Clang не оптимизируют обратную 1 инструкцию при использовании fast-math
Кто-нибудь знает, почему GCC/Clang не будет оптимизировать функцию test1 в приведенном ниже примере кода, чтобы просто использовать только инструкцию RCPPS при использовании опции fast-math? Есть ли другой флаг компилятора, который будет генерироват…
14 авг '15 в 04:26
2
ответа
Динамический -перед математикой
Можно ли по выбору включать -ffast-math во время выполнения? Например, создание классов FastMath и AccurateMath с общим базовым классом Math, чтобы можно было использовать обе реализации во время выполнения? То же самое для мигания субнормалей в нол…
12 авг '13 в 21:58
12
ответов
Почему GCC не оптимизирует a*a*a*a*a*a до (a*a*a)*(a*a*a)?
Я делаю некоторую числовую оптимизацию для научного приложения. Одна вещь, которую я заметил, это то, что GCC оптимизирует вызов pow(a,2) составив его в a*a, но звонок pow(a,6) не оптимизирован и будет вызывать библиотечную функцию pow, что сильно т…
21 июн '11 в 18:49