Войти
ПрограммированиеФорумГрафика

Вопрос по Vulkan

Страницы: 1 2 3 Следующая »
#0
(Правка: 18:09) 18:09, 1 мар. 2018

Кто нибудь знает, Vulkan уже поддерживает мультиадаптерность и если да, то где можно найти какой нибудь пример?
Я ничего не нашел по этой теме, только упоминание от Хроноса, что он БУДЕТ это поддерживать. Но это было сказано год назад.


#1
20:16, 1 мар. 2018

san
Ничего нового по этому поводу я не слышал, думаю когда появится, мы об этом узнаем, все же важная новость...

#2
20:26, 1 мар. 2018

> Вопрос по Vulcan
Правильно пишется Vulkan

#3
21:03, 1 мар. 2018

MrShoor
> Правильно пишется Vulkan
Пардон, очепятка...

#4
21:34, 1 мар. 2018

san
> Я ничего не нашел по этой теме
Изображение

Instance -> Physical Device -> Logical Device
https://vulkan-tutorial.com/Drawing_a_triangle/Setup/Logical_device_and_queues

#5
22:10, 1 мар. 2018
san
> Пардон, очепятка...
Исправлять я её конечно не буду?
#6
22:13, 1 мар. 2018

FireFenix
> Instance -> Physical Device -> Logical Device
вопрос не об этом вообще

#7
22:26, 1 мар. 2018

Multi-adapter support подразумевает не только выбор GPU, но также запуск отдельных тредов на разных устройствах и обмен данных между ними. Это умеет DX12 и я это использую. Но сейчас я думаю о смене платформы, поскольку мне понадобилось считать в double, но DX12 с даблами не дружит (в отличие от OGL). Опять-же OGL не поддерживает мультиадаптерность и рендеринг в разных тредах. Получается Vulkan идеальная платформа для моего случая, но только похоже что multi-GPU там только анонсирована но не реализована.

#8
22:53, 1 мар. 2018

san
OpenCL по каким-то причинам не подходит?
На нем мульти гпу есть и большинство цпу также поддерживаются.

#9
23:26, 1 мар. 2018
VK_KHX_device_group: It allows using a logical device that consists of multiple physical devices.

VK_KHX_device_group_creation: This allows enumerating groups of physical devices and to create a logical device from a subset of those groups. A.k.a. VK_KHX_device_group_creation and VK_KHX_device_group are working on the Vulkan multi-GPU rendering support.


Но у меня в списке расширений нет VK_KHX_device_group, зато есть VK_KHX_device_group_creation
#10
(Правка: 23:28) 23:27, 1 мар. 2018

/A\
> На нем мульти гпу есть и большинство цпу также поддерживаются.
Как мне текстуру, созданную в треде на одном GPU (amd), передать треду который покажет ее на другом GPU (nvidia)? На DX12 это можно, а как это сделать на OGL я не знаю.

#11
0:03, 2 мар. 2018

Нашел объяснение

Does Vulkan support multiple GPUs or multiple GPU acceleration?
There is no multiple GPU support in version 1.0. That was unfortunately a feature Khronos had to cut in order to preserve schedule. It is expected to be near the top of the list for Vulkan 1.1. It is perfectly possible for a Vulkan implementation to expose multiple GPUs. What Vulkan currently can’t do is allow resource sharing between them. So from a point of view of, for example, a Windows system manager, its possible to recognize multiple ways to render to a surface and then use operating system hooks to transfer that to the screen. What Vulkan doesn’t have is the ability to share a texture or a render target between multiple GPUs.


san
> Как мне текстуру, созданную в треде на одном GPU (amd), передать треду который покажет ее на другом GPU (nvidia)?
Так расшарить OpenCL  с OpenGL.

#12
(Правка: 0:07) 0:04, 2 мар. 2018

/A\
> вопрос не об этом вообще
всмысле не об этом? о котлетах шо ле? Изображение
человек говорит, что не нашёл инфы - я линканул на ман инициализации физического устройства.... логика?

>VK_KHX_device_group
>VK_KHX_device_group_creation
эта хрень вроде для SLI/Crossfire для получения sub-девайсов в группе, не?

>Как мне текстуру, созданную в треде на одном GPU (amd), передать треду который покажет ее на другом GPU (nvidia)?
в вулкане при "игрищах" с памятью есть VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX флаг, который позволяет шарить между gpu
сам не юзал, поэтому хз как корректно юзать

P.S. единственное, что норм гуглится это http://www.java-gaming.org/index.php?topic=38144.0 тут портянка на англе как с этим флагом

#13
(Правка: 2:58) 2:35, 2 мар. 2018

/A\
> There is no multiple GPU support in version 1.0.
Понятно... Значит они только планируют добавить эту фичу. Интересно, а когда выйдет эта 1.1, есть слухи на этот счет?

> Так расшарить OpenCL с OpenGL.
Вот с этого места подробнее, плиз. Я с OpenCL не работал, но как я понимаю, это что-то вроде CUDA - программа пишется на CPU, выполняется (частично) на GPU, но к экрану и шейдерам доступа не имеет. И что мне даст добавление к OpenGL кусков на OpenCL, как это может выглядеть?

FireFenix
> эта хрень вроде для SLI/Crossfire для получения sub-девайсов в группе, не?
Насколько я вижу, это именно SLI/Crossfire, т.е. это по сути одно логическое устройство.  Я же говорил о совершенно разных картах, когда одна может быть Nvidia а другая AMD. Потому /А\ и сказал, что это не о том. 
Ссылку, которуя ты прислал, довольно любопытна. Но насколько я понял, речь идет о неком экспериментальном расширении и все же это вариант сявзанных по SLI карт,  или обмен идет через системную память.  Там довольно мутное обьяснение, как "memory1" и "memory 2" могут отражать результат рендеринга на GPU.

#14
5:55, 2 мар. 2018

san
Если я правильно понимаю, в openCL и Vulkan будут проблемы с переносом данных между GPU от разных вендоров.
Поддержка нескольких GPU для работы есть у обоих, но перенос между GPU разных вендоров будет через хост(оперативку), и с этим скорее всего не получиться что то сделать.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумГрафика