Instal·lació

QiliSDK i els seus extras opcionals es distribueixen a través de PyPI. Useu pip per instal·lar el paquet principal, més qualsevol mòdul addicional que necessiteu.

Paquet base

pip install qilisdk

Extres opcionals

Nota

A macOS l’intèrpret d’ordres per defecte és zsh, que tracta els claudàtors com un patró d’expansió de noms, de manera que els extres s’han d’escriure entre cometes (pip install "qilisdk[cuda12]"). Seleccioneu el vostre sistema operatiu a les pestanyes següents per obtenir l’ordre correcta.

  • Acceleració CUDA (suport de GPU NVIDIA per a QiliSim):

    pip install qilisdk[cuda12]
    

Nota

Utilitzeu l’extra cuda13 en el seu lloc si els vostres controladors són de CUDA 13. En qualsevol cas, el vostre sistema ha de disposar d’una GPU amb acceleració CUDA i dels controladors corresponents instal·lats.

  • SpeQtrum (enviament al núvol via speqtrum):

    pip install qilisdk[speqtrum]
    

Podeu combinar extres:

pip install qilisdk[cuda12,speqtrum]

Backends opcionals

CudaqBackend i QutipBackend funcionen sobre frameworks de tercers que QiliSDK no distribueix, de manera que cap extra no els cobreix. Instal·leu el framework vosaltres mateixos i 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 comprova la versió instal·lada el primer cop que s’usa el backend, i us indica quina versió ha trobat si és massa antiga.

Nota

QiliSDK requereix una versió de Python 3.11 o superior.

Requisits mínims del sistema operatiu:
  • Linux: Ubuntu 22.04 o superior

  • Windows: Windows 11 o superior

  • MacOS: MacOS 14 o superior

Compilar des del codi font

El mètode anterior instal·larà els binaris precompilats de QiliSDK de la versió més recent. Si voleu obtenir les característiques més noves (aquelles en les quals encara estem treballant), podeu compilar la biblioteca des del codi font, però tingueu en compte que això no es recomana per a la majoria d’usuaris, i no garantim que el codi més recent sigui estable.

El suport per a Windows és limitat, per la qual cosa recomanem usar WSL, que es pot instal·lar seguint aquesta guia. Amb això, hauríeu de seguir les instruccions de Linux a continuació. Si heu d’usar Windows pur, les instruccions de Windows a continuació haurien de funcionar, tot i que deshabiliten certes funcions del codi (especialment alguns bucles paral·lelitzats).

Primer, assegureu-vos de tenir instal·lats Python, pip, git, cmake i un compilador de C++:

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

Instal·leu uv globalment amb:

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

Després, cloneu (és a dir, descarregueu) i accediu al repositori:

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

Creeu un nou entorn virtual usant uv:

uv venv

Després activeu l’entorn:

source .venv/bin/activate

Per instal·lar QiliSDK en aquest nou entorn, executeu:

uv sync

Si voleu instal·lar amb extras, podeu executar el següent, ajustant segons calgui:

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

També hi ha una sèrie d’indicadors de compilació addicionals que es poden establir per habilitar/deshabilitar certes funcions:

Indicador

Què fa

-Ccmake.define.build_native=ON

Compila per a l’arquitectura de la màquina actual per obtenir un major rendiment. Només es recomana si esteu compilant per a la vostra pròpia màquina.

-Ccmake.define.single_precision=ON

Utilitza precisió simple (float) en lloc de precisió doble (double). Lleugerament més ràpid, però menys precís.

-Ccmake.build-type=Debug

Habilita una compilació de depuració (sense optimitzacions, amb símbols de depuració).

-Ccmake.build-type=RelWithDebInfo

Habilita una compilació de depuració optimitzada (optimitzacions més símbols de depuració).

-Ccmake.build-type=Release

Habilita una compilació de llançament (optimitzacions, sense símbols de depuració). Aquesta és l’opció predeterminada.

-Ccmake.define.tidy=ON

Executa clang-tidy sobre el codi durant la compilació.

-Ccmake.define.verbose=ON

Habilita una sortida (molt) detallada del codi C++.

-Ccmake.define.tests=ON

Compila el conjunt de proves de C++, que després estarà disponible com a executable test_cpp al directori de proves.

-Ccmake.define.coverage=ON

Habilita els indicadors d’instrumentació de cobertura.

Aquests es poden passar a uv sync simplement afegint-los a l’ordre de compilació, per exemple:

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

Llavors tindreu un entorn amb la darrera versió de QiliSDK instal·lada. Si voleu instal·lar altres coses a l’entorn, haureu d’usar pip amb uv:

uv pip install <package_name>

I per executar un script de Python dins de l’entorn, podeu usar:

uv run python3 <script_name.py>