13  Execution and reproducibility

Execution configurations control computation independently of the learner and resampling design. The examples in this guide use serial execution and explicit seeds for reproducible, bounded computations.

13.1 Select a backend

serial <- setup_SerialExecution(n_workers_algorithm = 1L, seed = 2026L)
future <- setup_FutureExecution(
  n_workers = 2L, future_plan = "multisession", seed = 2026L
)
mirai <- setup_MiraiExecution(n_workers = 2L, seed = 2026L)

The constructors select serial, future, or mirai dispatch. Serial dispatch can still use algorithm threads when n_workers_algorithm permits them.

13.2 Allocate workers

Parallel work can occur across outer resamples, tuning fits, or within an algorithm. Automatic allocation assigns the worker budget to an applicable level. Explicit n_workers_outer, n_workers_tuning, and n_workers_algorithm settings specify the allocation; the configuration validates combinations against its worker ceiling.

execution <- setup_FutureExecution(
  n_workers = 2L,
  n_workers_outer = 2L,
  n_workers_tuning = 1L,
  n_workers_algorithm = 1L,
  future_plan = "multisession",
  seed = 2026L
)

The resources line reports the execution backend, device, worker ceiling, and resolved allocation. shared_memory controls local sharing of training data through mori; warm_workers, on the mirai backend, controls loading rtemis in each worker as the pool starts. on_error selects the configured response to fit failures. Inspect successful and failed resamples when interpreting an incomplete run.

13.3 Set the compute device

The execution configuration accepts device = "cpu", "cuda", "mps", or "opencl". setup_CUDA(ids = 0L) selects a zero-based CUDA device index. Support depends on the algorithm and its installed backend. An algorithm without support for a requested device runs on the CPU, as reported by the resources line. An unset device selects CUDA when available and otherwise CPU; Apple silicon GPU execution requires an explicit "mps" request.

gpu_execution <- setup_SerialExecution(device = "mps", seed = 2026L)

This constructs a request; it does not start a GPU computation.

13.4 Record randomness and runtime

Resampler seeds determine row splits. The execution seed determines computation substreams. Set both when reproducing a resampled analysis, and retain package versions, data, configuration, and the run record.

mod <- train(
  iris,
  hyperparameters = setup_CART(),
  outer_resampling_config = setup_KFold(n_resamples = 3L, seed = 2026L),
  execution_config = serial
)
2026-10-12 04:57:16 Checking data is ready for training... ✔ [check_supervised]
2026-10-12 04:57:16 ▶ [train]
2026-10-12 04:57:16 Training set: 150 cases x 4 features. [summarize_supervised]
2026-10-12 04:57:16 // CPU | serial | 1 worker: algorithm 1 thread, tuning 1, outer resampling 1 (as set) [msg_resources]
2026-10-12 04:57:16 Shared memory (auto): not sharing training data (7.3 kB) -- this run transfers nothing to workers. [report_shared_memory]
2026-10-12 04:57:16 <> Training CART Classification using 3 independent folds... [train]
2026-10-12 04:57:17 ✔ Outer resamples 3/3 done in 0:01
2026-10-12 04:57:17 </> Outer resampling done. [train]
<Resampled Classification Model>
CART (CART decision tree (rpart))
⟳ Tested using 3 independent folds.

  <Resampled Classification Training Metrics>
  Aggregate Confusion Matrix across resamples.
                     Predicted
          Reference  setosa  versicolor  virginica  
             setosa     100           0          0
         versicolor       0          98          2
          virginica       0           1         99

  Showing mean (sd) across resamples.
  Balanced Accuracy: 0.990 (0.010)
                 F1: 0.990 (0.010)
           Accuracy: 0.990 (0.010)

  <Resampled Classification Test Metrics>
  Aggregate Confusion Matrix across resamples.
                     Predicted
          Reference  setosa  versicolor  virginica  
             setosa      50           0          0
         versicolor       0          48          2
          virginica       0           5         45

  Showing mean (sd) across resamples.
  Balanced Accuracy: 0.953 (0.030)
                 F1: 0.953 (0.030)
           Accuracy: 0.953 (0.030)

2026-10-12 04:57:17 Done in 0.95 seconds. [train]
record(mod)
$`$schema`
[1] "https://schema.rtemis.org/supervised/r/v1/record.json"

$outcome
NULL

$features
NULL

$weights
NULL

$positive_class
NULL

$question
NULL

$outdir
NULL

$verbosity
[1] 1

$dat_training_path
NULL

$dat_validation_path
NULL

$dat_test_path
NULL

$character2factor
[1] TRUE

$preprocessor_config
NULL

$decomposition_config
NULL

$hyperparameters
$hyperparameters$algorithm
[1] "CART"

$hyperparameters$cp
[1] 0.01

$hyperparameters$maxdepth
[1] 20

$hyperparameters$minsplit
[1] 2

$hyperparameters$minbucket
[1] 1

$hyperparameters$prune_cp
NULL

$hyperparameters$method
[1] "auto"

$hyperparameters$model
[1] TRUE

$hyperparameters$maxcompete
[1] 4

$hyperparameters$maxsurrogate
[1] 5

$hyperparameters$usesurrogate
[1] 2

$hyperparameters$surrogatestyle
[1] 0

$hyperparameters$xval
[1] 0

$hyperparameters$cost
NULL

$hyperparameters$ifw
[1] FALSE

$hyperparameters$origin
$hyperparameters$origin$cp
[1] "default"

$hyperparameters$origin$maxdepth
[1] "default"

$hyperparameters$origin$minsplit
[1] "default"

$hyperparameters$origin$minbucket
[1] "default"

$hyperparameters$origin$prune_cp
[1] "default"

$hyperparameters$origin$method
[1] "default"

$hyperparameters$origin$model
[1] "default"

$hyperparameters$origin$maxcompete
[1] "default"

$hyperparameters$origin$maxsurrogate
[1] "default"

$hyperparameters$origin$usesurrogate
[1] "default"

$hyperparameters$origin$surrogatestyle
[1] "default"

$hyperparameters$origin$xval
[1] "default"

$hyperparameters$origin$cost
[1] "default"

$hyperparameters$origin$ifw
[1] "default"



$tuner_config
NULL

$outer_resampling_config
$outer_resampling_config$type
[1] "KFold"

$outer_resampling_config$n_resamples
[1] 3

$outer_resampling_config$stratify_var
NULL

$outer_resampling_config$strat_n_bins
[1] 4

$outer_resampling_config$id_strat
NULL

$outer_resampling_config$seed
[1] 2026

$outer_resampling_config$origin
$outer_resampling_config$origin$n_resamples
[1] "user"

$outer_resampling_config$origin$stratify_var
[1] "default"

$outer_resampling_config$origin$strat_n_bins
[1] "default"

$outer_resampling_config$origin$id_strat
[1] "default"

$outer_resampling_config$origin$seed
[1] "user"



$execution_config
$execution_config$backend
[1] "none"

$execution_config$n_workers_algorithm
[1] 1

$execution_config$device
NULL

$execution_config$on_error
[1] "continue"

$execution_config$seed
[1] 2026

$execution_config$shared_memory
[1] "auto"

$execution_config$origin
$execution_config$origin$n_workers_algorithm
[1] "user"

$execution_config$origin$on_error
[1] "default"

$execution_config$origin$seed
[1] "user"

$execution_config$origin$shared_memory
[1] "default"



$origin
$origin$outcome
[1] "default"

$origin$features
[1] "default"

$origin$weights
[1] "default"

$origin$positive_class
[1] "default"

$origin$question
[1] "default"

$origin$outdir
[1] "default"

$origin$verbosity
[1] "default"

$origin$dat_training_path
[1] "default"

$origin$dat_validation_path
[1] "default"

$origin$dat_test_path
[1] "default"

$origin$character2factor
[1] "default"


$folds
$folds[[1]]
$folds[[1]]$index
[1] 1

$folds[[1]]$hyperparameters
$folds[[1]]$hyperparameters$algorithm
[1] "CART"

$folds[[1]]$hyperparameters$cp
[1] 0.01

$folds[[1]]$hyperparameters$maxdepth
[1] 20

$folds[[1]]$hyperparameters$minsplit
[1] 2

$folds[[1]]$hyperparameters$minbucket
[1] 1

$folds[[1]]$hyperparameters$prune_cp
NULL

$folds[[1]]$hyperparameters$method
[1] "auto"

$folds[[1]]$hyperparameters$model
[1] TRUE

$folds[[1]]$hyperparameters$maxcompete
[1] 4

$folds[[1]]$hyperparameters$maxsurrogate
[1] 5

$folds[[1]]$hyperparameters$usesurrogate
[1] 2

$folds[[1]]$hyperparameters$surrogatestyle
[1] 0

$folds[[1]]$hyperparameters$xval
[1] 0

$folds[[1]]$hyperparameters$cost
NULL

$folds[[1]]$hyperparameters$ifw
[1] FALSE

$folds[[1]]$hyperparameters$origin
$folds[[1]]$hyperparameters$origin$cp
[1] "default"

$folds[[1]]$hyperparameters$origin$maxdepth
[1] "default"

$folds[[1]]$hyperparameters$origin$minsplit
[1] "default"

$folds[[1]]$hyperparameters$origin$minbucket
[1] "default"

$folds[[1]]$hyperparameters$origin$prune_cp
[1] "default"

$folds[[1]]$hyperparameters$origin$method
[1] "default"

$folds[[1]]$hyperparameters$origin$model
[1] "default"

$folds[[1]]$hyperparameters$origin$maxcompete
[1] "default"

$folds[[1]]$hyperparameters$origin$maxsurrogate
[1] "default"

$folds[[1]]$hyperparameters$origin$usesurrogate
[1] "default"

$folds[[1]]$hyperparameters$origin$surrogatestyle
[1] "default"

$folds[[1]]$hyperparameters$origin$xval
[1] "default"

$folds[[1]]$hyperparameters$origin$cost
[1] "default"

$folds[[1]]$hyperparameters$origin$ifw
[1] "default"



$folds[[1]]$metrics
$folds[[1]]$metrics$training
$folds[[1]]$metrics$training$sample
[1] "Training"

$folds[[1]]$metrics$training$confusion_long
   reference  predicted  n
1     setosa     setosa 33
2 versicolor     setosa  0
3  virginica     setosa  0
4     setosa versicolor  0
5 versicolor versicolor 31
6  virginica versicolor  0
7     setosa  virginica  0
8 versicolor  virginica  2
9  virginica  virginica 33

$folds[[1]]$metrics$training$metrics
$folds[[1]]$metrics$training$metrics$overall
  balanced_accuracy        f1 accuracy
1          0.979798 0.9797794 0.979798

$folds[[1]]$metrics$training$metrics$class
       level sensitivity specificity balanced_accuracy       ppv       npv
1     setosa   1.0000000    1.000000         1.0000000 1.0000000 1.0000000
2 versicolor   0.9393939    1.000000         0.9696970 1.0000000 0.9705882
3  virginica   1.0000000    0.969697         0.9848485 0.9428571 1.0000000
         f1
1 1.0000000
2 0.9687500
3 0.9705882

$folds[[1]]$metrics$training$metrics$positive_class
NULL



$folds[[1]]$metrics$validation
NULL

$folds[[1]]$metrics$test
$folds[[1]]$metrics$test$sample
[1] "Test"

$folds[[1]]$metrics$test$confusion_long
   reference  predicted  n
1     setosa     setosa 17
2 versicolor     setosa  0
3  virginica     setosa  0
4     setosa versicolor  0
5 versicolor versicolor 16
6  virginica versicolor  0
7     setosa  virginica  0
8 versicolor  virginica  1
9  virginica  virginica 17

$folds[[1]]$metrics$test$metrics
$folds[[1]]$metrics$test$metrics$overall
  balanced_accuracy        f1  accuracy
1         0.9803922 0.9803752 0.9803922

$folds[[1]]$metrics$test$metrics$class
       level sensitivity specificity balanced_accuracy       ppv       npv
1     setosa   1.0000000   1.0000000         1.0000000 1.0000000 1.0000000
2 versicolor   0.9411765   1.0000000         0.9705882 1.0000000 0.9714286
3  virginica   1.0000000   0.9705882         0.9852941 0.9444444 1.0000000
         f1
1 1.0000000
2 0.9696970
3 0.9714286

$folds[[1]]$metrics$test$metrics$positive_class
NULL





$folds[[2]]
$folds[[2]]$index
[1] 2

$folds[[2]]$hyperparameters
$folds[[2]]$hyperparameters$algorithm
[1] "CART"

$folds[[2]]$hyperparameters$cp
[1] 0.01

$folds[[2]]$hyperparameters$maxdepth
[1] 20

$folds[[2]]$hyperparameters$minsplit
[1] 2

$folds[[2]]$hyperparameters$minbucket
[1] 1

$folds[[2]]$hyperparameters$prune_cp
NULL

$folds[[2]]$hyperparameters$method
[1] "auto"

$folds[[2]]$hyperparameters$model
[1] TRUE

$folds[[2]]$hyperparameters$maxcompete
[1] 4

$folds[[2]]$hyperparameters$maxsurrogate
[1] 5

$folds[[2]]$hyperparameters$usesurrogate
[1] 2

$folds[[2]]$hyperparameters$surrogatestyle
[1] 0

$folds[[2]]$hyperparameters$xval
[1] 0

$folds[[2]]$hyperparameters$cost
NULL

$folds[[2]]$hyperparameters$ifw
[1] FALSE

$folds[[2]]$hyperparameters$origin
$folds[[2]]$hyperparameters$origin$cp
[1] "default"

$folds[[2]]$hyperparameters$origin$maxdepth
[1] "default"

$folds[[2]]$hyperparameters$origin$minsplit
[1] "default"

$folds[[2]]$hyperparameters$origin$minbucket
[1] "default"

$folds[[2]]$hyperparameters$origin$prune_cp
[1] "default"

$folds[[2]]$hyperparameters$origin$method
[1] "default"

$folds[[2]]$hyperparameters$origin$model
[1] "default"

$folds[[2]]$hyperparameters$origin$maxcompete
[1] "default"

$folds[[2]]$hyperparameters$origin$maxsurrogate
[1] "default"

$folds[[2]]$hyperparameters$origin$usesurrogate
[1] "default"

$folds[[2]]$hyperparameters$origin$surrogatestyle
[1] "default"

$folds[[2]]$hyperparameters$origin$xval
[1] "default"

$folds[[2]]$hyperparameters$origin$cost
[1] "default"

$folds[[2]]$hyperparameters$origin$ifw
[1] "default"



$folds[[2]]$metrics
$folds[[2]]$metrics$training
$folds[[2]]$metrics$training$sample
[1] "Training"

$folds[[2]]$metrics$training$confusion_long
   reference  predicted  n
1     setosa     setosa 34
2 versicolor     setosa  0
3  virginica     setosa  0
4     setosa versicolor  0
5 versicolor versicolor 34
6  virginica versicolor  0
7     setosa  virginica  0
8 versicolor  virginica  0
9  virginica  virginica 34

$folds[[2]]$metrics$training$metrics
$folds[[2]]$metrics$training$metrics$overall
  balanced_accuracy f1 accuracy
1                 1  1        1

$folds[[2]]$metrics$training$metrics$class
       level sensitivity specificity balanced_accuracy ppv npv f1
1     setosa           1           1                 1   1   1  1
2 versicolor           1           1                 1   1   1  1
3  virginica           1           1                 1   1   1  1

$folds[[2]]$metrics$training$metrics$positive_class
NULL



$folds[[2]]$metrics$validation
NULL

$folds[[2]]$metrics$test
$folds[[2]]$metrics$test$sample
[1] "Test"

$folds[[2]]$metrics$test$confusion_long
   reference  predicted  n
1     setosa     setosa 16
2 versicolor     setosa  0
3  virginica     setosa  0
4     setosa versicolor  0
5 versicolor versicolor 15
6  virginica versicolor  1
7     setosa  virginica  0
8 versicolor  virginica  1
9  virginica  virginica 15

$folds[[2]]$metrics$test$metrics
$folds[[2]]$metrics$test$metrics$overall
  balanced_accuracy        f1  accuracy
1         0.9583333 0.9583333 0.9583333

$folds[[2]]$metrics$test$metrics$class
       level sensitivity specificity balanced_accuracy    ppv     npv     f1
1     setosa      1.0000     1.00000          1.000000 1.0000 1.00000 1.0000
2 versicolor      0.9375     0.96875          0.953125 0.9375 0.96875 0.9375
3  virginica      0.9375     0.96875          0.953125 0.9375 0.96875 0.9375

$folds[[2]]$metrics$test$metrics$positive_class
NULL





$folds[[3]]
$folds[[3]]$index
[1] 3

$folds[[3]]$hyperparameters
$folds[[3]]$hyperparameters$algorithm
[1] "CART"

$folds[[3]]$hyperparameters$cp
[1] 0.01

$folds[[3]]$hyperparameters$maxdepth
[1] 20

$folds[[3]]$hyperparameters$minsplit
[1] 2

$folds[[3]]$hyperparameters$minbucket
[1] 1

$folds[[3]]$hyperparameters$prune_cp
NULL

$folds[[3]]$hyperparameters$method
[1] "auto"

$folds[[3]]$hyperparameters$model
[1] TRUE

$folds[[3]]$hyperparameters$maxcompete
[1] 4

$folds[[3]]$hyperparameters$maxsurrogate
[1] 5

$folds[[3]]$hyperparameters$usesurrogate
[1] 2

$folds[[3]]$hyperparameters$surrogatestyle
[1] 0

$folds[[3]]$hyperparameters$xval
[1] 0

$folds[[3]]$hyperparameters$cost
NULL

$folds[[3]]$hyperparameters$ifw
[1] FALSE

$folds[[3]]$hyperparameters$origin
$folds[[3]]$hyperparameters$origin$cp
[1] "default"

$folds[[3]]$hyperparameters$origin$maxdepth
[1] "default"

$folds[[3]]$hyperparameters$origin$minsplit
[1] "default"

$folds[[3]]$hyperparameters$origin$minbucket
[1] "default"

$folds[[3]]$hyperparameters$origin$prune_cp
[1] "default"

$folds[[3]]$hyperparameters$origin$method
[1] "default"

$folds[[3]]$hyperparameters$origin$model
[1] "default"

$folds[[3]]$hyperparameters$origin$maxcompete
[1] "default"

$folds[[3]]$hyperparameters$origin$maxsurrogate
[1] "default"

$folds[[3]]$hyperparameters$origin$usesurrogate
[1] "default"

$folds[[3]]$hyperparameters$origin$surrogatestyle
[1] "default"

$folds[[3]]$hyperparameters$origin$xval
[1] "default"

$folds[[3]]$hyperparameters$origin$cost
[1] "default"

$folds[[3]]$hyperparameters$origin$ifw
[1] "default"



$folds[[3]]$metrics
$folds[[3]]$metrics$training
$folds[[3]]$metrics$training$sample
[1] "Training"

$folds[[3]]$metrics$training$confusion_long
   reference  predicted  n
1     setosa     setosa 33
2 versicolor     setosa  0
3  virginica     setosa  0
4     setosa versicolor  0
5 versicolor versicolor 33
6  virginica versicolor  1
7     setosa  virginica  0
8 versicolor  virginica  0
9  virginica  virginica 32

$folds[[3]]$metrics$training$metrics
$folds[[3]]$metrics$training$metrics$overall
  balanced_accuracy        f1 accuracy
1          0.989899 0.9898967 0.989899

$folds[[3]]$metrics$training$metrics$class
       level sensitivity specificity balanced_accuracy       ppv       npv
1     setosa    1.000000   1.0000000         1.0000000 1.0000000 1.0000000
2 versicolor    1.000000   0.9848485         0.9924242 0.9705882 1.0000000
3  virginica    0.969697   1.0000000         0.9848485 1.0000000 0.9850746
         f1
1 1.0000000
2 0.9850746
3 0.9846154

$folds[[3]]$metrics$training$metrics$positive_class
NULL



$folds[[3]]$metrics$validation
NULL

$folds[[3]]$metrics$test
$folds[[3]]$metrics$test$sample
[1] "Test"

$folds[[3]]$metrics$test$confusion_long
   reference  predicted  n
1     setosa     setosa 17
2 versicolor     setosa  0
3  virginica     setosa  0
4     setosa versicolor  0
5 versicolor versicolor 17
6  virginica versicolor  4
7     setosa  virginica  0
8 versicolor  virginica  0
9  virginica  virginica 13

$folds[[3]]$metrics$test$metrics
$folds[[3]]$metrics$test$metrics$overall
  balanced_accuracy        f1  accuracy
1         0.9215686 0.9204678 0.9215686

$folds[[3]]$metrics$test$metrics$class
       level sensitivity specificity balanced_accuracy       ppv       npv
1     setosa   1.0000000   1.0000000         1.0000000 1.0000000 1.0000000
2 versicolor   1.0000000   0.8823529         0.9411765 0.8095238 1.0000000
3  virginica   0.7647059   1.0000000         0.8823529 1.0000000 0.8947368
         f1
1 1.0000000
2 0.8947368
3 0.8666667

$folds[[3]]$metrics$test$metrics$positive_class
NULL






$metrics
$metrics$training
$metrics$training$balanced_accuracy
[1] 0.989899

$metrics$training$f1
[1] 0.989892

$metrics$training$accuracy
[1] 0.989899


$metrics$validation
NULL

$metrics$test
$metrics$test$balanced_accuracy
[1] 0.9534314

$metrics$test$f1
[1] 0.9530588

$metrics$test$accuracy
[1] 0.9534314



$metrics_sd
$metrics_sd$training
$metrics_sd$training$balanced_accuracy
[1] 0.01010101

$metrics_sd$training$f1
[1] 0.01011029

$metrics_sd$training$accuracy
[1] 0.01010101


$metrics_sd$validation
NULL

$metrics_sd$test
$metrics_sd$test$balanced_accuracy
[1] 0.02971656

$metrics_sd$test$f1
[1] 0.03029997

$metrics_sd$test$accuracy
[1] 0.02971656



$provenance
$provenance$implementation
$provenance$implementation$name
[1] "rtemis"

$provenance$implementation$version
[1] "1.4.2"

$provenance$implementation$language
[1] "r"

$provenance$implementation$language_version
[1] "R version 4.6.1 (2026-06-24)"


$provenance$platform
[1] "aarch64-apple-darwin23"

$provenance$started
[1] "2026-10-12T11:57:16.515Z"

$provenance$finished
[1] "2026-10-12T11:57:17.430Z"

$provenance$elapsed_seconds
[1] 0.9145548

$provenance$outcome
[1] "completed"

$provenance$data_training
$provenance$data_training$method
[1] "object"

$provenance$data_training$algorithm
[1] "sha256"

$provenance$data_training$encoding
[1] "r-serialize-v3"

$provenance$data_training$hash
[1] "e3449b68076a4e29c103a0dae0cce63885ab920883181b2c10eddcbb1c6ffc41"

$provenance$data_training$n_rows
[1] 150

$provenance$data_training$n_cols
[1] 5

$provenance$data_training$column_names
[1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  "Species"     

$provenance$data_training$source
NULL

$provenance$data_training$language
[1] "R"

$provenance$data_training$data_structure
[1] "data.frame"


$provenance$data_validation
NULL

$provenance$data_test
NULL


$session
NULL
session_timeline(mod@session)
                        label      start      end       kind status failed
                       <char>      <num>    <num>     <char> <char> <lgcl>
 1: train CART Classification   9.958982 914.3760      train     ok  FALSE
 2:            outer_fold 1/3 349.617958 767.5259 outer_fold     ok  FALSE
 3:            train_alg CART 584.867954 697.1569  train_alg     ok  FALSE
 4:                   predict 697.176933 725.7628    predict     ok  FALSE
 5:               varimp CART 732.331991 750.1340     varimp     ok  FALSE
 6:                   metrics 750.150919 767.4448    metrics     ok  FALSE
 7:            outer_fold 2/3 767.659903 834.7659 outer_fold     ok  FALSE
 8:         train_alg CART #1 808.286905 820.0200  train_alg     ok  FALSE
 9:                predict #1 820.035934 820.9999    predict     ok  FALSE
10:            varimp CART #1 827.020884 827.2679     varimp     ok  FALSE
11:                metrics #1 827.280045 834.7249    metrics     ok  FALSE
12:            outer_fold 3/3 834.821939 903.4150 outer_fold     ok  FALSE
13:         train_alg CART #2 882.707834 889.9469  train_alg     ok  FALSE
14:                predict #2 889.960051 890.8210    predict     ok  FALSE
15:            varimp CART #2 896.410942 896.7509     varimp     ok  FALSE
16:                metrics #2 896.764994 903.3871    metrics     ok  FALSE
                                      tip
                                   <char>
 1: train CART Classification—904 ms [ok]
 2:            outer_fold 1/3—418 ms [ok]
 3:            train_alg CART—112 ms [ok]
 4:                    predict—29 ms [ok]
 5:                varimp CART—18 ms [ok]
 6:                    metrics—17 ms [ok]
 7:             outer_fold 2/3—67 ms [ok]
 8:             train_alg CART—12 ms [ok]
 9:                     predict—1 ms [ok]
10:              varimp CART—<0.5 ms [ok]
11:                     metrics—7 ms [ok]
12:             outer_fold 3/3—69 ms [ok]
13:              train_alg CART—7 ms [ok]
14:                     predict—1 ms [ok]
15:              varimp CART—<0.5 ms [ok]
16:                     metrics—7 ms [ok]
plot_session(mod)

session_timeline() lists recorded steps and timings; plot_session() displays them as an execution timeline.

predict(), apply_decomp(), and reconstruct() accept their own execution_config. Their resource allocation follows the prediction host or the supplied configuration.

© 2026 E.D. Gennatas