다음을 통해 공유


IntraopNumThreads 인터페이스

LearningModelSessionOptions를 통해 CPU 연산자에 대한 인트라 연산자 실행을 위해 스레드 풀에서 사용되는 스레드 수를 변경하는 기능을 제공합니다. 기본적으로 WinML은 사용자의 CPU에서 논리 코어 수와 동일한 최대 스레드 수로 값을 설정합니다. 이 값을 CPU의 논리 코어 수보다 높게 설정하면 비효율적인 스레드 풀과 평가 속도가 느려질 수 있습니다.

샘플 코드

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 빌드 17763
지원되는 최소 서버 데스크톱 환경이 있는 Windows Server 2019
Header windows.ai.machinelearning.native.h

참고 항목

Windows ML에 대한 도움말은 다음 리소스를 참조하세요.

  • Windows ML에 대한 기술적인 질문을 하거나 질문에 답하려면, Stack Overflow에서 windows-machine-learning 태그를 사용하세요.
  • 버그를 보고하려면 GitHub에서 문제를 제출하세요.