#c #performance #math
#c #Производительность #математика
Вопрос:
Я стремлюсь эффективно реализовать расхождение KL в C . (Пока только процессор).
Очень похоже на AES или FTT (быстрое преобразование Фурье), при котором использование общей функции привело к оптимизации аппаратного уровня (Intel AES и Intel FTT). Есть ли что-нибудь подобное для естественного журнала или эффективности чуть более высокого уровня (ASM / C), которые предотвращают узкие места успешного выполнения многих функций естественного журнала (если они существуют)?
Те же примеры использования:
.Many parallel and independent node executions; each one performing 20~ KL calculations from localized (not shared or pointer reffed) memory.
.Scheduled KL: executing in stepped-parallel where the hardware is setup expecting uses of for example tables (assuming tables are used at this lower level - AES implement ions indicated this is a high probability) .
Я нашел возможный кандидат, но я не уверен: ALTFP_LOG
Комментарии:
1. Насколько точным вы хотите, чтобы журнал был? Существует компромисс между точностью и скоростью, особенно если вы вручную реализуете журнал с помощью встроенных функций SSE / AVX
2. Мне нужно всего около 6dp. Вообще не требует двойной точности. KL будет использоваться для оценки стабильности разницы между сигналами. Идея заключается в том, что если значение достигает минимального / максимального значения, требуемое разрешение может быть скорректировано (U-образная кривая зависит от частоты использования).
Ответ №1:
Вы можете использовать SSE instructions
для параллельного вычисления логарифма многих значений. Но сможете ли вы на самом деле использовать эти инструкции, в значительной степени зависит от того, как остальные вычисления, которые вы собираетесь выполнять, зависят от вычисляемых вами логарифмов, поэтому дать более конкретный ответ невозможно.
Комментарии:
1. Спасибо за информацию. Я постараюсь добавить примеры к исходному вопросу, я приму ваш ответ, если не будет исключения.
2. Я принял этот ответ после дальнейшего изучения. Наиболее примечательно: gruntthepeon.free.fr/ssemath