Ни одна из этих вещей не является отдельными частями отдельного оборудования, которые могут быть адресованы отдельно в CUDAПрочтите этот отрывок на странице 10 вашего документа:
Каждый GPC внутри GP100 имеет десять SM .Каждый SM имеет 64 ядра CUDA и четыре текстурных блока. С 60 SM , GP100 имеет в общей сложности 3840 ядер CUDA одинарной точности и 240 текстурных блоков.Каждый контроллер памяти подключен к 512 КБ кэш-памяти L2, а каждый стек DRAM HBM2 управляется парой контроллеров памяти.Полный графический процессор включает в себя 4096 КБ кэш-памяти второго уровня.
И если мы читаем чуть выше, то:
GP100 был создан, чтобы быть самым высокопроизводительным процессором параллельных вычислений в мире, чтобы удовлетворить потребности рынков ускоренных вычислений на GPUобслуживается нашей платформой ускорителя Tesla P100.Как и предыдущие графические процессоры класса Tesla, GP100 состоит из массива кластеров графической обработки (GPC), кластеров обработки текстур (TPC), потоковых мультипроцессоров (SM) и контроллеров памяти.Полный GP100 состоит из шести GPC, 60 Pascal SM, 30 TPC (каждый с двумя SM) и восьми 512-битных контроллеров памяти (всего 4096 бит).
ивзгляните на диаграмму, на которой мы видим следующее:
Таким образом, GPC и SMS не являются отдельными аппаратными компонентами, но даже TPC - это просто еще один способ реорганизации аппаратной архитектуры и придумывания причудливого маркетингового названия.Вы можете ясно видеть, что TPC не добавляет ничего нового в диаграмму, он просто выглядит как контейнер для SM.Его [1 GPC]: [5 TPC]: [10 SM]
Контроллеры памяти - это нечто, что все аппаратное обеспечение будет иметь для взаимодействия с ОЗУ, случается, что больше памятиКонтроллеры могут активировать более широкую полосу пропускания, см. эту схему:
, где «Высокоскоростная память» относится к HBM2 типу видеопамять как у GDDR5, другими словами, видео ОЗУ.Это не то, к чему вы бы обращались непосредственно в программном обеспечении с помощью CUDA, больше, чем с настольными компьютерами X86.
Так что на самом деле у нас здесь есть только SM, а не TPC и GPC.Итак, чтобы ответить на ваш вопрос, поскольку Тензорный поток использует преимущества cuda , предположительно, он собирается использовать все доступное аппаратное обеспечение, которое он может.
РЕДАКТИРОВАТЬ: постер отредактировал свой вопрос на совершенно другой вопрос, и у него появились новые заблуждения, поэтому вот ответ на этот вопрос:
Кластеры обработки текстур (TPC)и текстурные единицы не одно и то же.Похоже, что TPC - это просто организация потоковых мультипроцессоров (SM) с небольшим количеством маркетинговой магии.
Текстурные блоки не являются конкретным термином, а функции отличаются от GPU к GPU, но в основном вы можете думать оони представляют собой комбинацию текстурной памяти или готового доступа к текстурной памяти, которая использует пространственную когерентность, в отличие от L1, L2, L3 ... кеша, которые используют временную когерентность, в сочетании с некоторыми фиксированными функциональными возможностями.Фиксированные функциональные возможности могут включать в себя фильтр доступа к интерполяции (часто, по меньшей мере, линейную интерполяцию), разные режимы координат, управление отображением и ансиотропную фильтрацию текстуры.См. Cuda 9.0 Guide по этой теме, чтобы получить представление о функциональности текстурного блока и о том, что вы можете контролировать с помощью CUDA.На диаграмме мы видим текстурные единицы внизу.
Очевидно, что они полностью отличаются от TPC, показанных на первом опубликованном мною изображении, которые, по крайней мере в соответствии с диаграммой, не имеют дополнительных функций, связанных сони и являются просто контейнером для двух SM.
Теперь, несмотря на то, что вы можете обращаться к функциям текстур в cuda, вам часто это не нужно.Функция фиксированной функции текстурных блоков не так уж полезна для нейронных сетей, однако пространственно-согласованная память текстур часто автоматически используется CUDA для оптимизации, даже если вы явно не пытаетесь получить к ней доступ.Таким образом, TensorFlow все равно не будет «тратить» кремний.