Комп'ютерні новини
Всі розділи
Низькорівневі API дозволять використовувати всю пам'ять зв'язувань Multi-GPU
Дуже цікавою інформацією поділився один зі співробітників компанії AMD, а саме Роберт Халлок (Robert Hallock). Вона стосується низькорівневих API (у першу чергу AMD Mantle, а також наступних (DirectX 12 та інших)) і зв'язувань Multi-GPU (у першу чергу AMD CrossFireX).
У подібних системах традиційним підходом вважається метод Alternate-frame rendering (AFR), при якому GPU по черзі обробляють кадри: GPU1 здійснює рендеринг кадру А, GPU2 – кадру B, GPU1 – кадру C, GPU2 – кадру D і так далі. При цьому для коректної роботи в умовах деяких сучасних програмних інтерфейсів (API) обидві відеокарти повинні мати повну копію всіх даних, щоб при потребі поділитися нею з іншими компонентами. Зберігається вся ця інформація саме у відеопам'яті, тому при використанні зв'язувань Multi-GPU загальна пам'ять не підсумовується.
Але із приходом API AMD Mantle усе змінилося. Оскільки це низькорівневий API (тобто він працює максимально близько до апаратної платформи), то він дозволяє більш ефективно розподіляти ресурси відеокарт. Наприклад, можна розділити рендеринг кадру між двома GPU і їх пам'яттю, щоб кожен обробляв свою половину екрану. Це мінімізує кількість необхідної інформації для коректної роботи, прискорює процес виконання й дозволяє задіяти сумарний обсяг пам'яті. Тобто для двох відеокарт із 4 ГБ відеопам'яті в кожної метод AFR дозволяє використовувати лише 4 ГБ, а от з AMD Mantle загальний відеобуфер може зрости до 8 ГБ.
Усі ці можливості вже реалізовані в API AMD Mantle, однак потрібне ще бажання розробників відійти від прийнятого методу AFR для оптимізації ігор під технології Multi-GPU, щоб користувачі могли ефективніше й повною мірою використовувати ресурси своїх відеокарт.