Partager via


Interface IntraopNumThreads

Donne la possibilité de changer le nombre de threads utilisés dans le pool de threads pour l’exécution intra-opérateur des opérateurs de l’UC via LearningModelSessionOptions. Par défaut, WinML définit la valeur comme le nombre maximal de conversations, qui est le même nombre de cœurs logiques sur l’UC de l’utilisateur. La définition de cette valeur supérieure au nombre de cœurs logiques sur l’UC peut entraîner un threadpool inefficace et une évaluation plus lente.

Exemple de code

void SetIntraOpNumThreads(LearningModel model) {
    // Create LearningModelSessionOptions
    auto options = LearningModelSessionOptions();
    auto nativeOptions = options.as<ILearningModelSessionOptionsNative>();
 
    // Set the number of intra op threads to half of logical cores.
    uint32_t desiredThreads = std::thread::hardware_concurrency() / 2;
    nativeOptions->SetIntraOpNumThreadsOverride(desiredThreads);
 
    // Create session
    LearningModelSession session = nullptr;
    WINML_EXPECT_NO_THROW(session = LearningModelSession(model, LearningModelDeviceKind::Cpu, options));
}

Spécifications

Condition requise
Client minimal pris en charge Windows 10, version 17763
Serveur minimal pris en charge Windows Server 2019 avec expérience utilisateur
En-tête windows.ai.machinelearning.native.h

Remarque

Utilisez les ressources suivantes pour obtenir de l’aide sur Windows ML :

  • Pour poser des questions techniques ou apporter des réponses à des questions techniques sur Windows ML, veuillez utiliser le mot clé windows-machine-learning sur Stack Overflow.
  • Pour signaler un bogue, veuillez signaler un problème dans notre plateforme GitHub.