Как вы можете управлять устройствами NVidia из Java на окнах с помощью автоинструментов MinGW/MSYS?
Чтобы быть точным, я пытаюсь читать / записывать настройки питания, настройки вентилятора и настройки тактовой частоты. Мне также нужен доступ к температуре графического процессора. Я попытался сделать это из MingGW с Swig, используя библиотеку NVAPI, но она не скомпилируется, так как компилятор MinGW не понимает заголовочный файл nvapi.h. Я сканировал через JCuda, но не могу найти какие-либо функции в JCuda для доступа к этим настройкам драйвера.
Примечание: я уже успешно смог получить доступ ко всем этим функциям из AMD-SDK для видеокарт AMD, у которых не было проблем при компиляции с MinGW
Visual studio НЕ является вариантом для этого проекта, потому что он является частью более крупного проекта, который использует систему сборки autotools. Для Linux я должен быть в состоянии обернуть библиотеку XNVCtrl, используя swig, поэтому единственный пробел в совместимости - комбинация windows-nvidea.
Последнее замечание: все ядра будут модульными в этой системе, поэтому, если ядра должны быть скомпилированы с Visual Studio, это не проблема, но сама система управления должна быть построена с помощью автоинструментов и доступна из Java.
1 ответ
После многих головных болей я обнаружил, что смог обернуть библиотеку NVML swig с помощью GPU Deployment Kit. Среда сборки все еще нуждается в некоторых корректировках для поддержки Linux, но альфа-версия этой системы доступна по адресу https://github.com/rritoch/WarpCTL/tree/master/extra/JNVML