The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"В драйвер PanVK добавлена поддержка Vulkan 1.4"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от opennews (??), 30-Июл-25, 08:54 
Компания Collabora объявила о реализации в Vulkan-драйвере PanVK поддержки графического API Vulkan 1.4 для устройств с GPU ARM на базе архитектуры V10, таких как Mali-G610 и Mali-G310. Изменения включены в кодовую базу Mesa и будут предложены пользователям в выпуске Mesa 25.2,  находящемся на стадии кандидата в релизы. В текущем стабильном выпуске Mesa 25.1 в PanVK поддерживается лишь версия Vulkan 1.2...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63643

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +1 +/
Сообщение от Аноним (1), 30-Июл-25, 08:54 
Интересно, на сколько реально увидеть десктопы с CPU ARM и главное GPU Mali? Почему не делают дешевые видеокарточки, на mali для десктопа?
Ответить | Правка | Наверх | Cообщить модератору

2. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Karl Richter (ok), 30-Июл-25, 09:16 
Почему Mali, а не Adreno?
Ответить | Правка | Наверх | Cообщить модератору

9. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (9), 30-Июл-25, 10:09 
>Adreno

В ноутах на Snapdragon X
https://www.techpowerup.com/cpu-specs/?f=mfgr_Qualcomm

Ответить | Правка | Наверх | Cообщить модератору

23. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Karl Richter (ok), 30-Июл-25, 14:36 
Ну вот, пока только процессоры от Qualcomm.
Ответить | Правка | Наверх | Cообщить модератору

27. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (9), 30-Июл-25, 15:02 
А от кого же ещё ?
Adreno это разработка Qualcomm:
https://en.wikipedia.org/wiki/Adreno
Ответить | Правка | Наверх | Cообщить модератору

28. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Karl Richter (ok), 30-Июл-25, 15:23 
Ну вот, пока хороших альтернатив Qualcomm не видел. Только ARM от Mac и Qualcomm имеются. Да и процессоры Qualcomm производительней.
Ответить | Правка | Наверх | Cообщить модератору

32. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +1 +/
Сообщение от Аноним (-), 30-Июл-25, 17:55 
> Ну вот, пока хороших альтернатив Qualcomm не видел. Только ARM от Mac
> и Qualcomm имеются. Да и процессоры Qualcomm производительней.

Qualcomm - весьма мерзкая и проприетарная корпа, насквозь маздайная, и патентный тролль к тому же. И то что там драйвер какой-то открытый - не отменит общего ужасного экспериенса с этой штукой в контексте опенсорса.

Ответить | Правка | Наверх | Cообщить модератору

3. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  –1 +/
Сообщение от name (??), 30-Июл-25, 09:18 
Одноплатников море, покупай, смотри.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

4. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +2 +/
Сообщение от Аноним (4), 30-Июл-25, 09:20 
Он хочет нормальный процессор на 100+ ватт TDP, что непонятно?
Ответить | Правка | Наверх | Cообщить модератору

6. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +5 +/
Сообщение от Аноним (6), 30-Июл-25, 09:47 
Видеоускорение там в .... плачевном состоянии. Там где смартфоны выдают сотни тысяч попугаев эти твои платники только нагревают атмосферу.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

8. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +4 +/
Сообщение от name (??), 30-Июл-25, 09:55 
Железо одноплатников отстаёт на 10 лет от смартфонов. Зато драйвера есть.
Ответить | Правка | Наверх | Cообщить модератору

14. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +2 +/
Сообщение от _kp (ok), 30-Июл-25, 12:02 
Одноплатники есть и на Intel и AMD, которые не отстают не десятилетия.

Сейчас скажут, что у тормозных ARM есть gpio. Так он не для всяких задач нужен, но есть и одноплатники на intel с gpio сопроцессором.

Ответить | Правка | Наверх | Cообщить модератору

18. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от name (??), 30-Июл-25, 13:13 
Запрос был посмотреть десктоп на арм с мали, дешёвые одноплатники для этого отлично подходят. Есть железо от apple, которое не так отстаёт, но и стоит хорошо.
Ответить | Правка | Наверх | Cообщить модератору

19. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (1), 30-Июл-25, 13:22 
Ну одноплатники это хорошо, но я имел ввиду почему не делать те же Mali но для разъёма PCIe.
Ответить | Правка | Наверх | Cообщить модератору

31. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (31), 30-Июл-25, 16:11 
Рынок видеокарт-«затычек» мёртв. На новых ПК везде встройка, для старых проще что-нибудь на вторичке взять. Ну и в магазинах всяких GT730 на 50 лет запасено.
Ответить | Правка | Наверх | Cообщить модератору

41. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 18:19 
> Ну одноплатники это хорошо, но я имел ввиду почему не делать те
> же Mali но для разъёма PCIe.

Зачем они там? Слишком дохлые чтобы рубаться с дискретками, они сугубо накристальный блок в ARMовских чипах. Их достоинство - это лицензируемый IP-блок для встройки в тот или иной SoC. Под дискретное применение оно никогда не делалось тупо.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

37. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от _kp (ok), 30-Июл-25, 18:09 
> дешёвые одноплатники для этого отлично подходят

дешевый одноплатник  - это miniPC на n5095.
На минималках он дешевле или сопоставим по цене с одноплатниками на MALI, но при этом быстрее, больше ОЗУ, и не надо докупать SSD и корпус.  

У меня есть почти полная коллекция одноплатников на Raspberry и Orange, и несколько других.
Некоторые можно использовать как ТВ приставку или как эрцац-десктоп, но при наличии miniPC смысла в этом нет.

Дешевые и малопотребляющие ARM-одноплатники одноплатники хороши поделок. А уже Raspberry5 ни рыба ни мясо, например для недодесктопа дорог и слаб, для многих поделок избыточен и дорог.

Кстати, о MALI. У него же кривые перекривые драйвера под Linux, что врагу не пожелаешь.
В общем оно только под Андроидом вменяемо работает.


Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

39. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 18:17 
> дешевый одноплатник  - это miniPC на n5095.
> На минималках он дешевле или сопоставим по цене с одноплатниками на MALI,

Если мы возьмем одноплатник на минималках с MALI - он будет стоить 10 баксов. Как десктоп его врядли захочется конечно, но...

> Дешевые и малопотребляющие ARM-одноплатники одноплатники хороши поделок. А уже Raspberry5
> ни рыба ни мясо,

Их покусала гигантомания. Впрочем ARM можно найти и довольно мощные - и с PCIe слотом. В который воткнуть какой-нибудь AMDGPU и вот там уже вулкан можно побенчмаркать :)

> Кстати, о MALI. У него же кривые перекривые драйвера под Linux, что
> врагу не пожелаешь.

Оно на основе реверса блин. Но вулкан - таки простой и сильно глючить там нечему. А фирма ARM с энных пор внезапно присоединилась к банкету - и шлет улучшения. Это довольно неожиданно, но...


Ответить | Правка | Наверх | Cообщить модератору

10. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (9), 30-Июл-25, 10:31 
Но например в Raspberry Pi там VideoCore:
https://en.wikipedia.org/wiki/VideoCore
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

13. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от _kp (ok), 30-Июл-25, 11:38 
>> Почему не делают дешевые видеокарточки, на mali для десктопа?

Потому что даже древняя HD4000, по функциям лучше чем MALI. Да и по производительности они почти на равных. А уж более свежие Intel встройки UHD ещё лучше и дешевые.
А если встройки Райзенов рассматривать, типа 760М, то на них и поиграть можно.
В общем, MALI - не нужен.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

25. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (25), 30-Июл-25, 14:48 
Рабочий стол же отрисовывает? Многим больше и ненадо. За 500 р. купил бы.
Ответить | Правка | Наверх | Cообщить модератору

42. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Karl Richter (ok), 30-Июл-25, 22:18 
Для рабочего стола встройки-затычки хватит.
Ответить | Правка | Наверх | Cообщить модератору

26. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  –1 +/
Сообщение от Аноним (25), 30-Июл-25, 14:49 
Рабочий стол же отрисовывает? Многим больше и ненадо. За 500 р. купил бы.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

21. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +1 +/
Сообщение от Аноним (31), 30-Июл-25, 13:42 
> Почему не делают дешевые видеокарточки, на mali для десктопа?

А дрова к ним кто напишет?

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

24. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (25), 30-Июл-25, 14:39 
Смотрите, завидуйте... :)
https://itinti.ru/catalog/rossiyskie_kompyutery/es607_monobl...
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

30. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (31), 30-Июл-25, 16:05 
Так там только смотреть и можно.
Ответить | Правка | Наверх | Cообщить модератору

33. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 17:56 
> Интересно, на сколько реально увидеть десктопы с CPU ARM и главное GPU Mali?

Возьми какой-нибудь одноплатник пожирнее. Можно даже с PCIe найти. Правда, тогда в него захочется воткнуть GPU пожирнее - типа AMDGPU какого.

> Почему не делают дешевые видеокарточки, на mali для десктопа?

Малохольные слишком, кому они там нужны.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

7. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (7), 30-Июл-25, 09:52 
...а для Mali T720 делать поддержку OpenGL 3.0 так никто не собирается.
Ответить | Правка | Наверх | Cообщить модератору

11. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +1 +/
Сообщение от Фняк (?), 30-Июл-25, 11:05 
А зачем инвестировать в драйвер для умирающего API?
Ответить | Правка | Наверх | Cообщить модератору

12. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  –1 +/
Сообщение от Аноним (12), 30-Июл-25, 11:16 
какое отношение биологических особей к абстракциям интерфейсов IT?
Ответить | Правка | Наверх | Cообщить модератору

34. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 17:57 
> ...а для Mali T720 делать поддержку OpenGL 3.0 так никто не собирается.

Zink юзай если там вулкан есть.

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

22. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +2 +/
Сообщение от Аноним (22), 30-Июл-25, 13:59 
Я недавно обнаружил, что некоторые люди, которым мы доверяем производительность операций с GPU на стороне процессора,.. не умеют или не всегда хотят верно бенчмаркить.

Вот их бенчмарк: https://github.com/vkmark/vkmark (анализ для коммита 2c5f020005a597fb4b7d9ed1eaa1bf40e466bf01, все лицензии на код находятся в соответствующих репозиториях)

>vkmark offers a suite of scenes that can be used to measure various aspects of Vulkan performance.

https://www.collabora.com/news-and-blog/blog/2017/07/18/vkma.../

>A few years ago we were pleasantly surprised to learn that developers were using glmark2 as a testing tool for driver development, especially in free (as in freedom) software projects. This is a goal that we want to actively pursue for vkmark, too.

Давайте посмотрим, как эти понтовые заявления соотносятся с реальностью.

```c++
// With a lot of contractions
class Scene
{
public:
...
    virtual bool is_valid() const;
...
    virtual VulkanImage draw(VulkanImage const&);
...
    virtual void update();
...
    unsigned int average_fps() const;
...
};
```

1. Виртуальные функции, Карл!
2. `unsigned int average_fps() const;` - СРЕДНЕЕ. FPS.
3. Функции не являются inline. И не force-inlined.

```c++
scene.start();

while (scene.is_running() &&
        !(should_quit = ws.should_quit()) &&
        !should_stop)
{
    ws.present_vulkan_image(
        scene.draw(ws.next_vulkan_image()));
    scene.update();
}

auto const scene_fps = scene.average_fps();

log_scene_fps(scene_fps);
```

Где находятся функции (в отдельном translation unit):

```c++

void Scene::start()
{
    current_frame = 0;
    running = true;
    start_time = Util::get_timestamp_us();
    last_update_time = start_time;
}

unsigned int Scene::average_fps() const
{
    return last_update_time > start_time ?
        current_frame * 1000000 / (last_update_time - start_time) : 0;
}

bool Scene::is_running() const
{
    return running;
}


VulkanImage Scene::draw(VulkanImage const& image)
{
    return image.copy_with_semaphore({});
}


void Scene::update()
{
    auto const current_time = Util::get_timestamp_us();
    auto const elapsed_time = current_time - start_time;

    ++current_frame;

    last_update_time = current_time;

    if (elapsed_time >= duration)
        running = false;
}

void log_scene_fps(unsigned int fps)
{
    auto const fmt = Log::continuation_prefix + " FPS: %u FrameTime: %.3f ms\n";
    Log::info(fmt.c_str(), fps, 1000.0 / fps);
    Log::flush();
}

uint64_t Util::get_timestamp_us()
{
    struct timespec ts;
    clock_gettime(CLOCK_MONOTONIC, &ts);
    uint64_t const now = static_cast<uint64_t>(ts.tv_sec) * 1000000 +
                        static_cast<uint64_t>(ts.tv_nsec) / 1000;
    return now;
}

```

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

```c++
current_frame = 0;
running = true;
start_time = Util::get_timestamp_us();
last_update_time = start_time;

while (running &&
        !(should_quit = ws.should_quit()) &&
        !should_stop)
{
    auto image = ws.next_vulkan_image();
    VulkanImage draw_result = image.copy_with_semaphore({});
    ws.present_vulkan_image(draw_result);

    struct timespec ts;
    clock_gettime(CLOCK_MONOTONIC, &ts);
    uint64_t const current_time = static_cast<uint64_t>(ts.tv_sec) * 1000000 + static_cast<uint64_t>(ts.tv_nsec) / 1000;
    uint64_t const elapsed_time = current_time - start_time;

    ++current_frame;

    last_update_time = current_time;

    if (elapsed_time >= duration){
        running = false;
    }
}

unsigned int const scene_fps =     last_update_time > start_time ? current_frame * 1000000 / (last_update_time - start_time) : 0;

auto const fmt = Log::continuation_prefix + " FPS: %u FrameTime: %.3f ms\n";
Log::info(fmt.c_str(), scene_fps, 1000.0 / scene_fps);
Log::flush();
```

1. Мы измеряем не FPS, а время. Но... они сначала вычисляют FPS из времени, усекают его до целого числа, затем время из FPS, и также усекают его. Это была проблема, которую я заметил первой, что заставило меня покопаться в этом.
2. Они используют `clock_gettime` вместо `__rdtsc` + `_mm_lfence` для получения точных тиков ЦП. Ни один разумный микро-бенчмарк не полагается на время, предоставляемое через системные вызовы.
3. В коде измерения времени - ненужные операции.
4. Мы видим ненужные операции между точками, где мы получаем время. В идеале `ws.present_vulkan_image(scene.draw(ws.next_vulkan_image()));` должно быть сендвичем между двумя гаджетами

```c++
_mm_lfence();
const uint64_t current_time = __rdtsc();
_mm_lfence();
```
.

6. Вместо измерения времени отдельных операций, они проводят бенчмаркинг в течение заранее заданного периода времени. Это противоположно тому, как обычно делают бенчмаркинг.
7. Они вычисляют средний FPS, используя `last_update_time - start_time` в качестве времени, а не сумму точных интервалов.
8. Никакой коррекции систематической погрешности, вносимой самими инструкциями измерения времени.

Мы просто предположили инлайнинг, но разумеется, компиляторы не настолько умны для этого. Для правильного бенчмаркинга им понадобится `MainLoop` в качестве шаблона и предоставление реализаций сцен в качестве аргументов шаблона, тогда компилятор заинлайнит реализацию прямо в горячий цикл.

Так что утверждение о том, что этот бенчмарк можно использовать каким-либо образом для чего-либо полезного, не выдерживает никакой критики.

Вот небольшой патч https://0x0.st/8kvd.patch , просто запихивающий `__rdtsc` туда, без каких-либо других необходимых изменений этого. И график гистограммы (нормализованной до плотности вероятности) времен (оставлен только первый пик, и на самом деле измерения расположены с 8 тиками, так что 8 тиков с количеством 0, затем тик с количеством, а затем снова 8 тиков с количеством 0 и тик с количеством) и соответствующая kernel density estimation. 2 изображения, одно в крупном масштабе, другое увеличено возле моды распределения, обратите внимание, что счетчики гистограммы очень шумные, более чем в два раза больше моды на ее пике. Команда была `./src/vkmark -D <device uuid> -p immediate -b effect2d:kernel=none:duration=4200000 --run-forever > results.txt`, после чего парсинг скриптом.

Вот что вам нужно знать об инженере из Collabora, который это разработал.

О, может быть, другие бенчмарки дадут лучшие результаты? Я нашел `https://github.com/RippeR37/GL_vs_VK` (коммит 735d153f7d85b7ce8d7097e89e877304ee23180b) , понтовую часть Phoronics Test Suite.

>This project is part of my master-thesis and aims to compare OpenGL and Vulkan API in terms of API-related overhead.

Если вы думаете, что этот бенчмарк отличается... нет, он в основном повторяет те же ошибки (за исключением виртуальных функций): неиспользование `rdtsc` напрямую (вместо этого он использует `glfwGetTime` из динамической библиотеки, определенной как
```c++

GLFWAPI double glfwGetTime(void)
{
    _GLFW_REQUIRE_INIT_OR_RETURN(0.0);
    return (double) (_glfwPlatformGetTimerValue() - _glfw.timer.offset) / _glfwPlatformGetTimerFrequency();
}
```

где

```c++
uint64_t _glfwPlatformGetTimerValue(void)
{
    struct timespec ts;
    clock_gettime(_glfw.timer.posix.clock, &ts);
    return (uint64_t) ts.tv_sec * _glfw.timer.posix.frequency + (uint64_t) ts.tv_nsec;
}
```
- да, те же яйца, только в профиль), фактический вызов получения времени находится в отдельной функции в отдельном translation unit, а не заинлайнен в нужное место.

Ответить | Правка | Наверх | Cообщить модератору

29. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 15:57 
Чувак, да ты ваще бешеный! (с)

Было весьма познавательно, да еще и с кодом.
Интересно примут ли изменения 🤔.

Ответить | Правка | Наверх | Cообщить модератору

35. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 18:00 
> Я недавно обнаружил, что некоторые люди, которым мы доверяем производительность операций
> с GPU на стороне процессора,.. не умеют или не всегда хотят
> верно бенчмаркить.

Во всем этом километровом спаме вы забыли главное.
1) Запрофайлить код и обосновать с инструментированными данными что этот код вообще существенно влиял на результаты бенчей.
2) Оценить уровень ошибки от всех этих упущений. Если бенч выдает цифирь с точностью 5% допустим - то и хрен со всем этим, во.

И да, если что - плавучка на ARM вовсе не обязана быть столь же производительной как на x86 так что усечь до целого - может быть вполне себе выигрышно до перфоманса, если вы там не знали.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

45. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (45), 31-Июл-25, 01:37 
>Запрофайлить код и обосновать с инструментированными данными что этот код вообще существенно влиял на результаты бенчей.

Вы на профайлинг и анализ его результатов больше времени потратите, чем просто на выпил идиотизма и замену обращений к RTC на обращения к счётчику тактов.

Ответить | Правка | Наверх | Cообщить модератору

36. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 18:04 
> 2. Они используют `clock_gettime` вместо `__rdtsc` + `_mm_lfence`

Это просто фэйспалм эксперта. Кому надо бенч с такими допущениями? Это не кроссплатформенно от слова вообще. А мы тут бенчмаркаем Vulkan на вон том ARM. А завтра и на RISCV придем бенчмаркать. Поразвелось тут экспертов, уверенных что rdtsc везде есть...

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

43. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (45), 31-Июл-25, 01:29 
Слушай, для каждой нормальной архитектуры есть счётчик тиков. Для арма это например CNTPCT_EL0. А кроссплатформенность можно обеспечить хедером, где в зависимости от архитектуры выбирается нужная инлайн-функция с нужными интринсиками ил inline assembly. Микробенчмаркить любым способом, кроме счётчика тиков - неверно, вы измеряете не пойми что.

И бенчмаркить вулкан вообще-то надо и на хосте, и на GPU, то есть использовать вулкан-расширения запроса таймеров с GPU. Так как меня интересовал только хост в данном исследовании, а в GPU-таймерах и GPU-кодинге я пока что нихрена не понимаю (я просто хотел узнать, стоит ли собирать месу шлангом с -flto, потому что она у меня более 5 часов непрерывного тарахтения хардом только ликовалась с прибитыми всеми остальными процессами, просто трешинг, это ни в какие ворота не лезет), то про GPU-таймеры писать не стал - эти бенчмарки время на GPU вообще не измеряют (хотя должны были).

Ответить | Правка | Наверх | Cообщить модератору

38. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (-), 30-Июл-25, 18:11 
> вызов получения времени находится в отдельной функции в отдельном translation unit,
> а не заинлайнен в нужное место.

Нормальные бенчмарки - делают дофига итераций, и усредняют. Дабы как раз избежать заморочек с тем какая там точность системных часов, инлайн оно или нет и проч. Но эксперту опеннета про это забыли рассказать. Как и о том что разрешение источников времени на разных платформах - не константа.

Все что надо знать о квалификации критика с опеннета.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

44. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (45), 31-Июл-25, 01:34 
Нормальные бенчмарки ничего не усредняют. Они промеряют распределение, причём на разных размерностях, после чего отрезают все моды, кроме первой, потому что вторая и последующая моды - это результат работы планировщика ОС, далее распределение фитится аналитическим параметрическим распределением, и параметры этого распределения идут в регрессию. Там можно отделить фиксированный оверхед, не зависящий от размерности, от стоимости непосредственно обработки данных.
Ответить | Правка | Наверх | Cообщить модератору

46. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Аноним (45), 31-Июл-25, 02:05 
Забыл картинки:

https://0x0.st/8kta.png
https://0x0.st/8RUo.png

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

40. "В драйвер PanVK добавлена поддержка Vulkan 1.4"  +/
Сообщение от Анонимemail (40), 30-Июл-25, 18:19 
и только для малины все никак и никак не напишут нормальный драйвер  Вулкан
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру