Instalación

QiliSDK y sus extras opcionales se distribuyen a través de PyPI. Use pip para instalar el paquete principal, más cualquier módulo adicional que necesite.

Paquete base

pip install qilisdk

Extras opcionales

Nota

En macOS el shell por defecto es zsh, que trata los corchetes como un patrón de expansión de nombres, por lo que los extras deben escribirse entre comillas (pip install "qilisdk[cuda12]"). Seleccione su sistema operativo en las pestañas siguientes para obtener el comando correcto.

  • Aceleración CUDA (soporte de GPU NVIDIA para QiliSim):

    pip install qilisdk[cuda12]
    

Nota

Utilice el extra cuda13 en su lugar si sus controladores son de CUDA 13. En cualquier caso, su sistema debe disponer de una GPU con aceleración CUDA y de los controladores correspondientes instalados.

  • SpeQtrum (envío a la nube a través de speqtrum):

    pip install qilisdk[speqtrum]
    

Puede combinar extras:

pip install qilisdk[cuda12,speqtrum]

Backends opcionales

CudaqBackend y QutipBackend funcionan sobre frameworks de terceros que QiliSDK no distribuye, por lo que ningún extra los cubre. Instale el framework usted mismo y el backend quedará disponible:

pip install "cuda-quantum-cu12>=0.14.0"       # or cuda-quantum-cu13, for CudaqBackend
pip install "qutip>=5.2.2" "qutip-qip>=0.4.0"  # for QutipBackend

QiliSDK comprueba la versión instalada la primera vez que se usa el backend, y le indica qué versión ha encontrado si es demasiado antigua.

Nota

QiliSDK requiere una versión de Python 3.11 o superior.

Requisitos mínimos del sistema operativo:
  • Linux: Ubuntu 22.04 o superior

  • Windows: Windows 11 o superior

  • MacOS: MacOS 14 o superior

Compilar desde el código fuente

El método anterior instalará los binarios precompilados de QiliSDK de la versión más reciente. Si desea obtener las características más nuevas (aquellas en las que aún estamos trabajando), puede compilar la biblioteca desde el código fuente, pero tenga en cuenta que esto no se recomienda para la mayoría de los usuarios, y no garantizamos que el código más reciente sea estable.

El soporte para Windows es limitado, por lo que recomendamos usar WSL, que se puede instalar según esta guía. Con esto, debería seguir las instrucciones de Linux a continuación. Si debe usar Windows puro, las instrucciones de Windows a continuación deberían funcionar, aunque deshabilitan ciertas funciones del código (especialmente algunos bucles paralelizados).

Primero, asegúrese de tener instalados Python, pip, git, cmake y un compilador de C++:

sudo apt update
sudo apt install python3 python3-pip git build-essential

Instale uv globalmente con:

curl -LsSf https://astral.sh/uv/install.sh | sh

Luego, clone (es decir, descargue) y acceda al repositorio:

git clone https://github.com/qilimanjaro-tech/qilisdk
cd qilisdk

Cree un nuevo entorno virtual usando uv:

uv venv

Luego active el entorno:

source .venv/bin/activate

Para instalar QiliSDK en este nuevo entorno, ejecute:

uv sync

Si desea instalar con extras, puede ejecutar lo siguiente, ajustando según sea necesario:

uv sync --extra cuda13 --extra speqtrum --group backends

También hay una serie de indicadores de compilación adicionales que se pueden establecer para habilitar/deshabilitar ciertas funciones:

Indicador

Qué hace

-Ccmake.define.build_native=ON

Compila para la arquitectura de la máquina actual para obtener un mayor rendimiento. Solo se recomienda si está compilando para su propia máquina.

-Ccmake.define.single_precision=ON

Usa precisión simple (float) en lugar de precisión doble (double). Ligeramente más rápido, pero menos preciso.

-Ccmake.build-type=Debug

Habilita una compilación de depuración (sin optimizaciones, con símbolos de depuración).

-Ccmake.build-type=RelWithDebInfo

Habilita una compilación de depuración optimizada (optimizaciones más símbolos de depuración).

-Ccmake.build-type=Release

Habilita una compilación de lanzamiento (optimizaciones, sin símbolos de depuración). Esta es la opción predeterminada.

-Ccmake.define.tidy=ON

Ejecuta clang-tidy sobre el código durante la compilación.

-Ccmake.define.verbose=ON

Habilita una salida (muy) detallada del código C++.

-Ccmake.define.tests=ON

Compila el conjunto de pruebas de C++, que luego estará disponible como un ejecutable test_cpp en el directorio de pruebas.

-Ccmake.define.coverage=ON

Habilita los indicadores de instrumentación de cobertura.

Estos se pueden pasar a uv sync simplemente añadiéndolos al comando de compilación, por ejemplo:

uv sync -Ccmake.define.build_native=ON -Ccmake.build-type=RelWithDebInfo

Entonces tendrá un entorno con la última versión de QiliSDK instalada. Si desea instalar otras cosas en el entorno, necesitará usar pip con uv:

uv pip install <package_name>

Y para ejecutar un script de Python dentro del entorno, puede usar:

uv run python3 <script_name.py>