Коллеги, краткий отчет с полей, так как я понял, тема интересует многих.
Как вы знаете, когда я выпустил первую бету с поддержкой CUDA, у ряда пользователей она не работала, причем именно с самыми последними моделями видеокарт. Я изначально компилировал с CUDA версии 10.1, довольно старой, потому что dlib использовал тоже не самой последней версии.
В общем, у меня возникло довольно логичное предположение, что нужно обновить CUDA, и я обновил до 12.3. Однако, как выяснилось, чтобы она работала, нужно в дистрибутив доложить несколько дополнительных библиотек, без них она отказывалась инициализироваться. Из-за моей ошибки при тестировании, я не обнаружил это на своей машине, к сожалению, это выяснилось только после релиза. У меня всё работало, так как был установлен локально дистрибутив CUDA, и нужные библиотеки подтягивались всё равно.
Сегодня я много времени потратил на то, чтобы подобрать работающую комбинацию dlib и CUDA - оказывается, не все версии друг с другом совместимы, оптимальной оказалась чуть более старая CUDA - 12.1.1 + cuDNN 8, но она тоже достаточно свежая, должна поддерживать современные видеокарты. Установил полный набор runtime-библиотек. которые нужно тащить с приложением, чтобы всё это работало. Но есть плохая новость - это больше гигабайта (все библиотеки cuDNN более 850 гигов).
В общем, ситуация теперь такая - полный набор есть, но теперь не собирается дистрибутив (однофайловый exe, включающий в себя всё сразу), видимо размер дистрибутива уже превышает максимально поддерживаемый.
Отдавать установку CUDA на откуп пользователю совсем не хочется. Дистрибутив CUDA - 3 гигабайта, и большая часть того, что он устанавливает, на самом деле не нужна. Но при этом, нужно еще поверх устанавливать cuDNN, а он идет без инсталлятора (только zip), да и чтобы скачать её нужно регистрироваться как разработчик на сайте nvidia. В общем, вообще не вариант.
Отказываться от однофайлового установщика в пользу msi - тоже очень не хочется. Сломается очень много чего, в том числе автоматическое обновление.
В общем, ситуация чуть сложнее оказалась, чем я рассчитывал (“да просто обновлю версию CUDA”). Очевидно, быстро проблему не решить. Буду дальше думать над решением. Пока рекомендую всем перейти на CPU-версию.