exec-local-compile

Par nvidia · skills

Compilez TensorRT-LLM sur un nœud de calcul dans un conteneur Docker. À utiliser lorsque vous êtes déjà sur un nœud de calcul avec des GPU visibles.

npx skills add https://github.com/nvidia/skills --skill exec-local-compile

Compiler TensorRT-LLM (Nœud de calcul local)

Compiler TensorRT-LLM depuis les sources sur un nœud de calcul à l'intérieur d'un conteneur Docker.

Quand utiliser cette compétence

Scénario Utiliser cette compétence ?
Sur un nœud de calcul avec GPUs visibles (nvidia-smi fonctionne) Oui
Sur un nœud de connexion SLURM (pas de GPUs) Non — utilisez exec-slurm-compile à la place

Prérequis

  • Vous êtes à l'intérieur d'un conteneur Docker/enroot sur un nœud de calcul
  • nvidia-smi fonctionne (GPUs visibles)
  • /usr/local/tensorrt existe (installation de TensorRT dans le conteneur)

Instructions

Étape 1 : Vérifier l'environnement

Exécutez nvidia-smi pour confirmer que vous êtes sur un nœud de calcul avec accès aux GPUs.

Étape 2 : Localiser la base de code

Accédez au dépôt TensorRT-LLM avec cd. Si le chemin n'est pas fourni par l'utilisateur, demandez-le.

Étape 3 : (Optionnel) Changer de branche

Si l'utilisateur spécifie une branche (par exemple, « compiler ToT »), changez et tirez les mises à jour :

git checkout main && git pull

Étape 4 : Construire

Exécutez la commande de construction (incrémentale par défaut — omettez -c/--clean sauf si explicitement demandé ou si la construction incrémentale échoue) :

./scripts/build_wheel.py --trt_root /usr/local/tensorrt --benchmarks -ccache -a "<arch>" -f --nvtx

Remplacez <arch> par l'architecture GPU cible (voir la section Architecture Reference ci-dessous). Si non spécifiée par l'utilisateur, détectez automatiquement depuis nvidia-smi.

Étape 5 : Installer

pip install -e .[devel]

Étape 6 : Vérifier

python3 -c "import tensorrt_llm; print(tensorrt_llm.__version__)"

Drapeaux de compilation

Drapeau Description
--trt_root /usr/local/tensorrt Chemin d'installation de TensorRT (standard dans les conteneurs NVIDIA)
--benchmarks Compiler les benchmarks C++
-a "<arch>" Architecture(s) GPU cible(s)
--nvtx Activer les marqueurs NVTX pour le profilage
-ccache Utiliser ccache pour une recompilation plus rapide
-f / --fast_build Ignorer certains kernels pour une compilation de dev plus rapide. Toujours utiliser pour les builds de dev.
-c / --clean Nettoyer le répertoire de compilation avant la construction. Uniquement si nécessaire (voir ci-dessous).
--skip_building_wheel Construire sur place sans créer de fichier wheel
--no-venv Ignorer la création d'environnement virtuel

Référence architecture

Valeur Famille GPU
"100-real" Blackwell (B200, GB200)
"90-real" Hopper (H100, H200)
"89-real" Ada Lovelace (L40S)
"80-real" Ampere (A100)
"90;100-real" Plusieurs architectures

Constructions incrémentales vs. nettoyage complet

Privilégiez les constructions incrémentales — CMake recompile uniquement les fichiers modifiés, ce qui économise du temps significatif.

Utilisez une construction nettoyage (-c) uniquement quand :

  • L'utilisateur demande explicitement une construction nettoyage/fraîche
  • Une construction incrémentale échoue avec des erreurs d'édition de liens, des fichiers objet périmés, ou des problèmes de cache CMake
  • Des changements majeurs de branche (par exemple, rebasing sur plusieurs commits) qui peuvent invalider le cache de compilation
  • Les fichiers du système de compilation ont changé (CMakeLists.txt, *.cmake)

Skills similaires