Программное определение доступности графического процессора в llama-cpp-pythonPython

Программы на Python
Anonymous
Программное определение доступности графического процессора в llama-cpp-python

Сообщение Anonymous »

Я уже некоторое время использую библиотеку llama-cpp-python, и в более ранних версиях я мог легко проверить доступность графического процессора, проверив переменную GGML_USE_CUBLAS или используя Атрибут ggml_init_cublas общей библиотеки llama следующим образом:

Код: Выделить всё

# For older versions
from llama_cpp.llama_cpp import GGML_USE_CUBLAS

def is_gpu_available_v1() -> bool:
return GGML_USE_CUBLAS

# For later versions
from llama_cpp.llama_cpp import _load_shared_library

def is_gpu_available_v2() -> bool:
lib = _load_shared_library('llama')
return hasattr(lib, 'ggml_init_cublas')
Эти подходы кажутся связанными с cuBLAS, и хотя я не совсем уверен, откуда взялся ggml_init_cublas, для меня их было достаточно, поскольку они надежно предсказывали, будет ли графический процессор с поддержкой CUDA используется (на что указывают быстрые ответы и высокая загрузка графического процессора), когда библиотека установлена ​​с CUDACXX=$MY_NVCC_PATH CMAKE_ARGS="-DLLAMA_CUBLAS=on -DCMAKE_CUDA_ARCHITECTURES=native" FORCE_CMAKE=1 pip install llama-cpp-python --no-cache -dir --force-reinstall --upgrade.
Однако в последних версиях llama-cpp-python кажется, что GGML_USE_CUBLAS была удалена, а переменная hasattr(lib, 'ggml_init_cublas') постоянно оценивает False, независимо от доступности графического процессора.
Может кто-нибудь подсказать мне, как программно проверить доступность графического процессора в последней версии библиотеки llama-cpp-python?
Будем признательны за любую информацию или альтернативные подходы.

Подробнее здесь: https://stackoverflow.com/questions/784 ... cpp-python

Вернуться в «Python»