Детерминизм (ГПУ)

Сборник

Компиляция XLA является детерминированной, если постоянная автонастройка используется для однократного выполнения автонастройки и предотвращения ее при последующих компиляциях. В противном случае из-за колебаний измерений разные ядра могут быть выбраны как самые быстрые в разных запусках компиляции.

--xla_gpu_require_complete_aot_autotune_results можно использовать, чтобы гарантировать, что автонастройка не происходит при повторных компиляциях — они либо повторно используют совместимые результаты предыдущих запусков, либо терпят неудачу.

Исполнение

Программы, скомпилированные с помощью XLA, могут быть недетерминированными в отношении таких операций, как рассеяние, выбор и рассеяние, GEMM, свертки, многонаправленное внимание. Флаг --xla_gpu_exclude_nondeterministic_ops переключает эти операции на детерминированные и потенциально более медленные реализации и приводит к сбою компиляции при выборе и разбросе, который не имеет детерминированной реализации.