@@ -17,7 +17,7 @@ using LinearSolve
1717using LinearSolveAutotune
1818
1919# Run autotune with default settings
20- results = autotune_setup ()
20+ results, sysinfo, plots = autotune_setup ()
2121```
2222
2323This will:
@@ -32,11 +32,11 @@ This will:
3232The autotune process returns benchmark results and creates several outputs:
3333
3434``` julia
35- # Basic usage returns just the DataFrame of results
36- results = autotune_setup (make_plot= false )
35+ # Basic usage returns just the DataFrame of results and system information
36+ results, sysinfo, _ = autotune_setup (make_plot= false )
3737
38- # With plotting enabled, returns (DataFrame, Plots)
39- results, plots = autotune_setup (make_plot= true )
38+ # With plotting enabled, returns (DataFrame, System Info, Plots)
39+ results, sysinfo, plots = autotune_setup (make_plot= true )
4040
4141# Examine the results
4242println (" Algorithms tested: " , unique (results. algorithm))
@@ -52,13 +52,13 @@ You can specify which element types to benchmark:
5252
5353``` julia
5454# Test only Float64 and ComplexF64
55- results = autotune_setup (eltypes = (Float64, ComplexF64))
55+ results, sysinfo, _ = autotune_setup (eltypes = (Float64, ComplexF64))
5656
5757# Test arbitrary precision types (excludes BLAS algorithms)
58- results = autotune_setup (eltypes = (BigFloat,), telemetry = false )
58+ results, sysinfo, _ = autotune_setup (eltypes = (BigFloat,), telemetry = false )
5959
6060# Test high precision float
61- results = autotune_setup (eltypes = (Float64, BigFloat))
61+ results, sysinfo, _ = autotune_setup (eltypes = (Float64, BigFloat))
6262```
6363
6464### Matrix Sizes
@@ -67,10 +67,10 @@ Control the range of matrix sizes tested:
6767
6868``` julia
6969# Default: small to medium matrices (4×4 to 500×500)
70- results = autotune_setup (large_matrices = false )
70+ results, sysinfo, _ = autotune_setup (large_matrices = false )
7171
7272# Large matrices: includes sizes up to 10,000×10,000 (good for GPU systems)
73- results = autotune_setup (large_matrices = true )
73+ results, sysinfo, _ = autotune_setup (large_matrices = true )
7474```
7575
7676### Benchmark Quality vs Speed
@@ -79,10 +79,10 @@ Adjust the thoroughness of benchmarking:
7979
8080``` julia
8181# Quick benchmark (fewer samples, less time per test)
82- results = autotune_setup (samples = 1 , seconds = 0.1 )
82+ results, sysinfo, _ = autotune_setup (samples = 1 , seconds = 0.1 )
8383
8484# Thorough benchmark (more samples, more time per test)
85- results = autotune_setup (samples = 10 , seconds = 2.0 )
85+ results, sysinfo, _ = autotune_setup (samples = 10 , seconds = 2.0 )
8686```
8787
8888### Privacy and Telemetry
@@ -105,13 +105,13 @@ However, if your system has privacy concerns or you prefer not to share data, yo
105105
106106``` julia
107107# Disable telemetry (no data shared)
108- results = autotune_setup (telemetry = false )
108+ results, sysinfo, _ = autotune_setup (telemetry = false )
109109
110110# Disable preference setting (just benchmark, don't change defaults)
111- results = autotune_setup (set_preferences = false )
111+ results, sysinfo, _ = autotune_setup (set_preferences = false )
112112
113113# Disable plotting (faster, less output)
114- results = autotune_setup (make_plot = false )
114+ results, sysinfo, _ = autotune_setup (make_plot = false )
115115```
116116
117117### Missing Algorithm Handling
@@ -125,10 +125,10 @@ you can set `skip_missing_algs = true` to allow missing algorithms without faili
125125
126126``` julia
127127# Default behavior: error if expected algorithms are missing
128- results = autotune_setup () # Will error if RFLUFactorization missing
128+ results, sysinfo, _ = autotune_setup () # Will error if RFLUFactorization missing
129129
130130# Allow missing algorithms (useful for incomplete setups)
131- results = autotune_setup (skip_missing_algs = true ) # Will warn instead of error
131+ results, sysinfo, _ = autotune_setup (skip_missing_algs = true ) # Will warn instead of error
132132```
133133
134134## GPU Systems
@@ -137,7 +137,7 @@ On systems with CUDA or Metal GPU support, the autotuner will automatically dete
137137
138138``` julia
139139# Enable large matrix testing for GPUs
140- results = autotune_setup (large_matrices = true , samples = 3 , seconds = 1.0 )
140+ results, sysinfo, _ = autotune_setup (large_matrices = true , samples = 3 , seconds = 1.0 )
141141```
142142
143143GPU algorithms tested (when available):
@@ -152,7 +152,7 @@ GPU algorithms tested (when available):
152152using DataFrames
153153using Statistics
154154
155- results = autotune_setup (make_plot = false )
155+ results, sysinfo, _ = autotune_setup (make_plot = false )
156156
157157# Filter successful results
158158successful = filter (row -> row. success, results)
@@ -170,7 +170,7 @@ println(summary)
170170When ` make_plot=true ` , you get separate plots for each element type:
171171
172172``` julia
173- results, plots = autotune_setup ()
173+ results, sysinfo, plots = autotune_setup ()
174174
175175# plots is a dictionary keyed by element type
176176for (eltype, plot) in plots
0 commit comments