setIntraOpNumThreads method

void setIntraOpNumThreads(
  1. int numThreads
)

Sets the number of intra-op threads used by ONNX Runtime.

IMPORTANT: This controls NATIVE C++ threads inside ONNX Runtime, NOT Dart isolates!

Intra-op threads are used to parallelize computation within a single operator. For example, a large matrix multiplication can be split across multiple threads.

This is completely independent of Dart isolates:

  • Each Dart isolate runs its own ONNX Runtime session
  • Each session can use multiple native threads (configured here)
  • So 1 isolate can use N native threads for parallel computation

Default is 0 (uses all available CPU cores).

Implementation

void setIntraOpNumThreads(int numThreads) {
  _intraOpNumThreads = numThreads;
  final statusPtr = OrtEnv.instance.ortApiPtr.ref.SetIntraOpNumThreads
      .asFunction<
          bg.OrtStatusPtr Function(
              ffi.Pointer<bg.OrtSessionOptions>, int)>()(_ptr, numThreads);
  OrtStatus.checkOrtStatus(statusPtr);
}