Freigeben über


IntraopNumThreads-Schnittstelle

Bietet die Möglichkeit, die Anzahl der im Threadpool verwendeten Threads für die Intra Operator-Ausführung für CPU-Operatoren über LearningModelSessionOptions zu ändern. WinML legt standardmäßig den Wert als maximale Anzahl von Threads fest, bei denen es sich um die gleiche Anzahl von logischen Kernen auf der CPU des Benutzers/der Benutzerin handelt. Das Festlegen dieses Werts höher als die Anzahl der logischen Kerne auf der CPU kann zu einem ineffizienten Threadpool und einer langsameren Auswertung führen.

Beispielcode

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));
}

Anforderungen

Anforderung
Unterstützte Mindestversion (Client) Windows 10 Build 17763
Mindestens unterstützter Server Windows Server 2019 mit Desktopoberfläche
Übergeordnet windows.ai.machinelearning.native.h

Hinweis

Verwende die folgenden Ressourcen, wenn du Hilfe mit Windows ML benötigst:

  • Wenn du technische Fragen zu Windows ML stellen oder beantworten möchtest, verwende das Tag windows-machine-learning auf Stack Overflow.
  • Wenn du einen Fehler melden möchtest, erstelle eine Anfrage auf GitHub.