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