Enum OutputBindingTarget

Namespace
NT2I.ONNX.Abstractions.Enumerations
Assembly
NT2I.ONNX.Abstractions.dll

Spécifie la cible de liaison (binding) pour les tenseurs de sortie d'inférence.

Ce choix impacte directement l'emplacement mémoire des buffers ORT alloués par IoBInding.BindOutputToDevice :

  • Host Les tenseurs sont rapatriés en RAM (mémoire hôte / CPU). Obligatoire en mode CPU-only ; compatible avec tous les providers. C'est la valeur par défaut et la plus sûre.
  • ExecutionDevice Les tenseurs restent sur le périphérique d'exécution (VRAM en CUDA, mémoire DirectML en DML). Évite un aller-retour H↔D coûteux quand les outputs d'un engine doivent être réinjectés comme inputs d'un autre engine sur le même périphérique (ex : encodeur SAM2 → prédicteur). Incompatible avec un provider CPU-only : OnnxEngine.Initialize lève une ArgumentException si cette valeur est combinée avec OnnxConfigEnum.CPU.
public enum OutputBindingTarget

Fields

ExecutionDevice = 1

Les tenseurs de sortie restent sur le périphérique d'exécution (VRAM CUDA ou mémoire DML) sans transfert vers l'hôte. À utiliser uniquement quand les outputs sont consommés directement par un autre engine GPU (zéro copie). Invalide en mode CPU-only.

Host = 0

Les tenseurs de sortie sont copiés en mémoire hôte (RAM / CPU) après l'inférence. Valeur par défaut, compatible avec tous les providers d'exécution.