Это действительно хороший вопрос, а также сложный. Это относится ко многим темам в современной компьютерной архитектуре. Поэтому в кратком ответе сложно все охватить. Но я сделаю все возможное, чтобы ответить на вопросы и, надеюсь, указать ОП некоторые направления, которым необходимо следовать.
На самом деле, как для CPU, так и для GPU или любых вычислительных устройств, GFLOPS является только частью уравнения.
GFLOPS измеряет чисто вычислительные возможности устройства с точки зрения производительности ALU (арифметической логики), которая говорит разработчикам, сколько вычислений можно выполнить за определенное время.
Однако в современной компьютерной архитектуре производительность памяти обычно является реальным узким местом системы. Представьте себе, что типичный рабочий процесс вычислительной задачи выглядит следующим образом (очень упрощенная версия):
- Считывание входных данных из памяти
- Выполнить некоторые вычисления и сгенерировать выходное значение
- Сохранить выходное значение обратно в память
GFLOPS только может измерить потенциал вычислительного устройства для завершения шага 2 (даже для шага 2 у нас все еще есть много других факторов. Например, современные компьютеры имеют несколько уровней кэша для улучшения загрузки и хранения данных производительность, следовательно, данные на шаге 2 очень возможно хранить в некотором уровне кэш-памяти).
Для достижения хорошей общей производительности нам необходим хороший баланс между системой памяти и вычислительными ALU. Таким образом, существует множество теорий, лежащих в основе высокопроизводительных вычислений, которые говорят людям, как добиться максимальной производительности или как спроектировать компьютерную систему для достижения максимальной производительности. Одной из теорий является модель Roofline: https://people.eecs.berkeley.edu/~kubitron/cs252/handouts/papers/RooflineVyNoYellow.pdf
Чтобы ответить на ваш вопрос, связанный с графической системой, выборка текстур выполняется в аппаратной системе памяти текстур внутри ядра графического процессора, которая включает в себя память текстур, кэш текстур, блоки выборки текстур и так далее. Поэтому выборка текстуры в основном зависит от текстурных единиц.
Но опять же, современная компьютерная система - сложная система. Множество факторов, включая ALU, систему памяти, кеш, драйвер, шейдерный компилятор и т. Д., Существенно влияют на общую производительность. Чтобы добиться лучшей производительности, нам необходимо учитывать все эти факторы.