Skip to content

Move raster nodes from RustGPU to wgsl shaders and implement 'Rasterize' Node for native targets - #4832

Open
timon-schelling wants to merge 16 commits into
masterfrom
graphite-rust-gpu-removal
Open

timon-schelling wants to merge 16 commits into
masterfrom
graphite-rust-gpu-removal

Conversation

@timon-schelling

Copy link
Copy Markdown
Member

No description provided.

@timon-schelling timon-schelling changed the title Move raster nodes from RustGPU to wgsl shaders Move raster nodes from RustGPU to wgsl shaders and implement 'Rasterize' Node for native targets Oct 26, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

11 issues found across 140 files

Confidence score: 3/5

  • median_filter.wgsl performs over 163,000 texture loads per output pixel at radius 50, which could make large-radius filtering impractically slow. Use a more efficient selection strategy or cap the radius.
  • document_migration.rs changes Upload Texture's default to Raster<GPU> even though the node still requires CPU input. Restrict the rewrite to inputs that accept GPU rasters.
  • context.rs now makes read_raster return an empty default for CPU raster rows that map still accepts. Preserve CPU support or convert those rows before reading.
  • graphic.rs now skips CPU raster graphics in flatten_raster and CPU-valued attributes in write_attribute. Preserve those CPU paths or convert the values before lookup.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="node-graph/libraries/wgpu-executor/src/shader_runtime/raster_kernel_runtime.rs">

<violation number="1" location="node-graph/libraries/wgpu-executor/src/shader_runtime/raster_kernel_runtime.rs:183">
P2: The pipeline cache key `(kernel, output_format)` does not include the params length, but the shader's `uniform_params` array size is fixed by the first call. If a later call passes a different number of params for the same kernel, the params buffer and the shader disagree. Either include `param_slots` in the cache key or document that params length must be constant per kernel.</violation>
</file>

<file name="node-graph/nodes/raster/src/color_lookup_table.rs">

<violation number="1" location="node-graph/nodes/raster/src/color_lookup_table.rs:350">
P2: `grid()` has no test. Its blue-fastest reorder (the `red_fastest == false` branch) and its sampled fallback feed the GPU Lut3d texture, and nothing checks that they match `apply`. Add a unit test that compares the grid's tetrahedral lookup with `apply` for a CUBE table (red-fastest) and a 3DL-style table (blue-fastest).</violation>
</file>

<file name="node-graph/libraries/wgpu-executor/src/lib.rs">

<violation number="1" location="node-graph/libraries/wgpu-executor/src/lib.rs:39">
P3: This doc says every raster texture uses `RASTER_FORMAT`, but `request_texture` and the document render path still return `Rgba8Unorm` sRGB textures. Reword it to describe only the linear-light textures this constant covers.</violation>
</file>

<file name="node-graph/nodes/gcore/src/context.rs">

<violation number="1" location="node-graph/nodes/gcore/src/context.rs:26">
P2: `read_raster` now downcasts only GPU raster rows, but `map` still accepts `List<Raster<CPU>>` and passes those rows unchanged; reads then silently return an empty default. Preserve CPU support or convert CPU rows before reading them.</violation>
</file>

<file name="node-graph/libraries/wgpu-executor/src/shader_runtime/raster_kernel_input_sample.wgsl">

<violation number="1" location="node-graph/libraries/wgpu-executor/src/shader_runtime/raster_kernel_input_sample.wgsl:2">
P2: `INPUT_sample` divides by `INPUT_size()` with no guard. An empty input has size zero, so the coordinate becomes inf or NaN, and the result is not guaranteed to be transparent as the runtime docs promise. Return `vec4<f32>(0.)` when `INPUT_size()` is zero, or when any component is zero.</violation>
</file>

<file name="node-graph/nodes/raster/src/adjustments.rs">

<violation number="1" location="node-graph/nodes/raster/src/adjustments.rs:761">
P3: This comment says `curves` stays off the shader build, but this PR moves `curves` to `Raster<GPU>` with a WGSL body. Update or remove the comment so it matches the implementation.</violation>
</file>

<file name="node-graph/libraries/wgpu-executor/src/vello_render.rs">

<violation number="1" location="node-graph/libraries/wgpu-executor/src/vello_render.rs:193">
P3: The flag passed to `premultiply` is named `loads_linear_light` here but lands in the `source_is_srgb` parameter, and it now also selects `srgb_source_parameters` for the linear `RASTER_FORMAT` source. The conversion is correct, but the names and the `srgb_source_parameters` doc now contradict it. Rename the parameter and field to describe the linear-light case, such as `source_is_linear`, and update the doc comments to match.</violation>
</file>

<file name="node-graph/nodes/raster/src/wgsl/median_filter.wgsl">

<violation number="1" location="node-graph/nodes/raster/src/wgsl/median_filter.wgsl:37">
P1: This performs 16 full neighborhood scans per pixel; at the advertised radius of 50, that is over 163,000 texture loads per output pixel. Use a more efficient median-selection strategy or impose a practical radius limit.</violation>
</file>

<file name="node-graph/nodes/graphic/src/graphic.rs">

<violation number="1" location="node-graph/nodes/graphic/src/graphic.rs:809">
P2: CPU raster attributes written by `write_attribute` are now silently skipped because this reader looks up only `Raster<GPU>`. Preserve a read path for CPU-valued attributes or convert them before lookup.</violation>

<violation number="2" location="node-graph/nodes/graphic/src/graphic.rs:999">
P2: `flatten_raster` now discards CPU raster graphics: its `Raster<GPU>` extractor matches only `Graphic::RasterGPU` variants, while CPU variants remain valid. Preserve CPU cases or upload them before flattening.</violation>
</file>

<file name="editor/src/messages/portfolio/document_migration.rs">

<violation number="1" location="editor/src/messages/portfolio/document_migration.rs:1831">
P2: This global rewrite also changes `Upload Texture`'s `Raster<CPU>` input default to `Raster<GPU>`, although that node still requires CPU input. Restrict the rewrite to inputs whose migrated definitions accept GPU rasters.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

return from_total_order_key(median);
}

for (var digit_index = 0u; digit_index < 16u; digit_index++) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: This performs 16 full neighborhood scans per pixel; at the advertised radius of 50, that is over 163,000 texture loads per output pixel. Use a more efficient median-selection strategy or impose a practical radius limit.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/nodes/raster/src/wgsl/median_filter.wgsl, line 37:

<comment>This performs 16 full neighborhood scans per pixel; at the advertised radius of 50, that is over 163,000 texture loads per output pixel. Use a more efficient median-selection strategy or impose a practical radius limit.</comment>

<file context>
@@ -0,0 +1,54 @@
+		return from_total_order_key(median);
+	}
+
+	for (var digit_index = 0u; digit_index < 16u; digit_index++) {
+		let shift = 30u - 2u * digit_index;
+		var below_one = vec4<u32>(0u);
</file context>

let param_slots = slots(args.params.len());

let mut pipelines = self.pipelines.lock().unwrap();
let kernel_pipeline = pipelines.entry((args.kernel, args.output_format)).or_insert_with(|| create_pipeline(device, args, param_slots));

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The pipeline cache key (kernel, output_format) does not include the params length, but the shader's uniform_params array size is fixed by the first call. If a later call passes a different number of params for the same kernel, the params buffer and the shader disagree. Either include param_slots in the cache key or document that params length must be constant per kernel.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/libraries/wgpu-executor/src/shader_runtime/raster_kernel_runtime.rs, line 183:

<comment>The pipeline cache key `(kernel, output_format)` does not include the params length, but the shader's `uniform_params` array size is fixed by the first call. If a later call passes a different number of params for the same kernel, the params buffer and the shader disagree. Either include `param_slots` in the cache key or document that params length must be constant per kernel.</comment>

<file context>
@@ -0,0 +1,390 @@
+		let param_slots = slots(args.params.len());
+
+		let mut pipelines = self.pipelines.lock().unwrap();
+		let kernel_pipeline = pipelines.entry((args.kernel, args.output_format)).or_insert_with(|| create_pipeline(device, args, param_slots));
+
+		let mut params = args.params.clone();
</file context>


/// The mapping as one grid, which [`Lut::apply`] matches by tetrahedral interpolation of the input normalized over the grid's domain:
/// the 3D table itself when the mapping is nothing more, otherwise the whole mapping sampled at `GRID_SIZE` points per axis across 0 to 1.
pub fn grid(&self) -> LutGrid {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: grid() has no test. Its blue-fastest reorder (the red_fastest == false branch) and its sampled fallback feed the GPU Lut3d texture, and nothing checks that they match apply. Add a unit test that compares the grid's tetrahedral lookup with apply for a CUBE table (red-fastest) and a 3DL-style table (blue-fastest).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/nodes/raster/src/color_lookup_table.rs, line 350:

<comment>`grid()` has no test. Its blue-fastest reorder (the `red_fastest == false` branch) and its sampled fallback feed the GPU Lut3d texture, and nothing checks that they match `apply`. Add a unit test that compares the grid's tetrahedral lookup with `apply` for a CUBE table (red-fastest) and a 3DL-style table (blue-fastest).</comment>

<file context>
@@ -344,6 +344,55 @@ impl Lut {
+
+	/// The mapping as one grid, which [`Lut::apply`] matches by tetrahedral interpolation of the input normalized over the grid's domain:
+	/// the 3D table itself when the mapping is nothing more, otherwise the whole mapping sampled at `GRID_SIZE` points per axis across 0 to 1.
+	pub fn grid(&self) -> LutGrid {
+		if self.lab_encoding.is_none()
+			&& self.input_curves.is_none()
</file context>


#[node_macro::node(category("Data: Context"), icon("NodeReadContext"), path(graphene_core::vector))]
fn read_raster(ctx: impl Ctx + ExtractVarArgs) -> Item<Raster<CPU>> {
fn read_raster(ctx: impl Ctx + ExtractVarArgs) -> Item<Raster<GPU>> {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: read_raster now downcasts only GPU raster rows, but map still accepts List<Raster<CPU>> and passes those rows unchanged; reads then silently return an empty default. Preserve CPU support or convert CPU rows before reading them.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/nodes/gcore/src/context.rs, line 26:

<comment>`read_raster` now downcasts only GPU raster rows, but `map` still accepts `List<Raster<CPU>>` and passes those rows unchanged; reads then silently return an empty default. Preserve CPU support or convert CPU rows before reading them.</comment>

<file context>
@@ -23,7 +23,7 @@ fn read_vector(ctx: impl Ctx + ExtractVarArgs) -> Item<Vector> {
 
 #[node_macro::node(category("Data: Context"), icon("NodeReadContext"), path(graphene_core::vector))]
-fn read_raster(ctx: impl Ctx + ExtractVarArgs) -> Item<Raster<CPU>> {
+fn read_raster(ctx: impl Ctx + ExtractVarArgs) -> Item<Raster<GPU>> {
 	let Ok(var_arg) = ctx.vararg(0) else { return Default::default() };
 	let var_arg = var_arg as &dyn std::any::Any;
</file context>

Comment thread node-graph/libraries/wgpu-executor/src/texture_conversion.rs Outdated
.filter_map(|(index, input)| {
let NodeInput::Value { tagged_value, exposed } = input else { return None };
let TaggedValue::TypeDefault(stored_type) = &**tagged_value else { return None };
let gpu_type = if *stored_type == item!(Raster<CPU>) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This global rewrite also changes Upload Texture's Raster<CPU> input default to Raster<GPU>, although that node still requires CPU input. Restrict the rewrite to inputs whose migrated definitions accept GPU rasters.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At editor/src/messages/portfolio/document_migration.rs, line 1831:

<comment>This global rewrite also changes `Upload Texture`'s `Raster<CPU>` input default to `Raster<GPU>`, although that node still requires CPU input. Restrict the rewrite to inputs whose migrated definitions accept GPU rasters.</comment>

<file context>
@@ -1787,6 +1817,35 @@ pub fn document_migration_upgrades(document: &mut DocumentMessageHandler, reset_
+				.filter_map(|(index, input)| {
+					let NodeInput::Value { tagged_value, exposed } = input else { return None };
+					let TaggedValue::TypeDefault(stored_type) = &**tagged_value else { return None };
+					let gpu_type = if *stored_type == item!(Raster<CPU>) {
+						item!(Raster<GPU>)
+					} else if *stored_type == list!(Raster<CPU>) {
</file context>

Comment thread node-graph/nodes/raster/shaders/src/lib.rs
#[cfg(target_family = "wasm")]
const TEXTURE_CACHE_SIZE: u64 = 512 * 1024 * 1024; // 512MB

/// The format of every raster texture, holding linear-light straight-alpha values.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This doc says every raster texture uses RASTER_FORMAT, but request_texture and the document render path still return Rgba8Unorm sRGB textures. Reword it to describe only the linear-light textures this constant covers.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/libraries/wgpu-executor/src/lib.rs, line 39:

<comment>This doc says every raster texture uses `RASTER_FORMAT`, but `request_texture` and the document render path still return `Rgba8Unorm` sRGB textures. Reword it to describe only the linear-light textures this constant covers.</comment>

<file context>
@@ -36,6 +36,9 @@ const TEXTURE_CACHE_SIZE: u64 = 1024 * 1024 * 1024; // 1GB
 #[cfg(target_family = "wasm")]
 const TEXTURE_CACHE_SIZE: u64 = 512 * 1024 * 1024; // 512MB
 
+/// The format of every raster texture, holding linear-light straight-alpha values.
+pub const RASTER_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Rgba32Float;
+
</file context>
Suggested change
/// The format of every raster texture, holding linear-light straight-alpha values.
/// The format of linear-light straight-alpha raster textures, such as those from [`Self::render_vello_raster_on_canvas`].

#[cfg(feature = "std")]
#[node_macro::node(category("Raster: Adjustment"), icon("NodeCurves"), inspector("transfer_curves_inspector"))]
fn curves<T: Adjust<Color> + Send>(
fn curves<T: Adjust>(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This comment says curves stays off the shader build, but this PR moves curves to Raster<GPU> with a WGSL body. Update or remove the comment so it matches the implementation.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/nodes/raster/src/adjustments.rs, line 761:

<comment>This comment says `curves` stays off the shader build, but this PR moves `curves` to `Raster<GPU>` with a WGSL body. Update or remove the comment so it matches the implementation.</comment>

<file context>
@@ -677,41 +757,85 @@ fn levels<T: Adjust<Color>>(
-#[cfg(feature = "std")]
 #[node_macro::node(category("Raster: Adjustment"), icon("NodeCurves"), inspector("transfer_curves_inspector"))]
-fn curves<T: Adjust<Color> + Send>(
+fn curves<T: Adjust>(
 	_: impl Ctx,
-	#[implementations(Raster<CPU>, Color, Gradient)] image: Item<T>,
</file context>

if let SceneImage::Texture(source) = image {
let source_view = source.create_view(&wgpu::TextureViewDescriptor::default());
alpha_conversion.premultiply(device, encoder, &source_view, source.format().is_srgb(), &view);
let loads_linear_light = source.format().is_srgb() || source.format() == crate::RASTER_FORMAT;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The flag passed to premultiply is named loads_linear_light here but lands in the source_is_srgb parameter, and it now also selects srgb_source_parameters for the linear RASTER_FORMAT source. The conversion is correct, but the names and the srgb_source_parameters doc now contradict it. Rename the parameter and field to describe the linear-light case, such as source_is_linear, and update the doc comments to match.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/libraries/wgpu-executor/src/vello_render.rs, line 193:

<comment>The flag passed to `premultiply` is named `loads_linear_light` here but lands in the `source_is_srgb` parameter, and it now also selects `srgb_source_parameters` for the linear `RASTER_FORMAT` source. The conversion is correct, but the names and the `srgb_source_parameters` doc now contradict it. Rename the parameter and field to describe the linear-light case, such as `source_is_linear`, and update the doc comments to match.</comment>

<file context>
@@ -180,7 +190,8 @@ impl ImageTextures {
 		if let SceneImage::Texture(source) = image {
 			let source_view = source.create_view(&wgpu::TextureViewDescriptor::default());
-			alpha_conversion.premultiply(device, encoder, &source_view, source.format().is_srgb(), &view);
+			let loads_linear_light = source.format().is_srgb() || source.format() == crate::RASTER_FORMAT;
+			alpha_conversion.premultiply(device, encoder, &source_view, loads_linear_light, &view);
 		}
</file context>

@TrueDoctor
TrueDoctor force-pushed the graphite-rust-gpu-removal branch from b3418f0 to cb01314 Compare October 26, 2026 21:15
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Performance Benchmark Results

🔧 Graph Compilation

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_0:(load_from_name(isometric-fountain))
Instructions: 27,284,885 (master) → 26,525,455 (HEAD) : $$\color{lime}-2.78\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -1.18%
D1mr                     385,381|    375,837          -2.48%
D1mw                     111,741|    103,267          -7.58%
DLmr                      19,458|     17,414         -10.50%
DLmw                      50,389|     53,052          +5.28%
Dr                     6,655,371|  6,492,510          -2.45%
Dw                     4,592,623|  4,476,962          -2.52%
EstimatedCycles       42,739,917| 41,646,809          -2.56%
I1MissRate                     0|          0          +2.04%
I1mr                      24,560|     24,364          -0.80%
ILmr                         830|        801          -3.49%
Ir                    27,284,885| 26,525,455          -2.78%
L1HitRate                     99|         99          +0.01%
L1hits                38,011,197| 36,991,459          -2.68%
LLHitRate                      1|          1          -1.52%
LLMissRate                     0|          0          +3.63%
LLdMissRate                    1|          1          +3.45%
LLhits                   451,005|    432,201          -4.17%
LLiMissRate                    0|          0          -0.73%
RamHitRate                     0|          0          +3.63%
RamHits                   70,677|     71,267          +0.83%
TotalRW               38,532,879| 37,494,927          -2.69%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_1:(load_from_name(painted-dreams))
Instructions: 15,636,377 (master) → 15,077,997 (HEAD) : $$\color{lime}-3.57\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.80%
D1mr                     212,971|    206,498          -3.04%
D1mw                      61,471|     56,678          -7.80%
DLmr                         345|        224         -35.07%
DLmw                      18,139|     16,864          -7.03%
Dr                     3,823,165|  3,697,772          -3.28%
Dw                     2,642,769|  2,552,753          -3.41%
EstimatedCycles       23,826,083| 22,964,758          -3.62%
I1MissRate                     0|          0          +3.97%
I1mr                      12,666|     12,698          +0.25%
ILmr                         694|        670          -3.46%
Ir                    15,636,377| 15,077,997          -3.57%
L1HitRate                     99|         99          +0.01%
L1hits                21,815,203| 21,052,648          -3.50%
LLHitRate                      1|          1          -0.17%
LLMissRate                     0|          0          -4.04%
LLdMissRate                    0|          0          -4.37%
LLhits                   267,930|    258,116          -3.66%
LLiMissRate                    0|          0          +0.12%
RamHitRate                     0|          0          -4.04%
RamHits                   19,178|     17,758          -7.40%
TotalRW               22,102,311| 21,328,522          -3.50%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_2:(load_from_name(procedural-string-lights))
Instructions: 2,382,863 (master) → 2,322,740 (HEAD) : $$\color{lime}-2.52\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          3          -3.51%
D1mr                      23,333|     22,315          -4.36%
D1mw                      11,117|     10,190          -8.34%
DLmr                          15|         14          -6.67%
DLmw                       3,148|      2,414         -23.32%
Dr                       564,736|    552,806          -2.11%
Dw                       397,497|    388,110          -2.36%
EstimatedCycles        3,610,466|  3,499,034          -3.09%
I1MissRate                     0|          0          +5.51%
I1mr                       3,055|      3,142          +2.85%
ILmr                         682|        665          -2.49%
Ir                     2,382,863|  2,322,740          -2.52%
L1HitRate                     99|         99          +0.03%
L1hits                 3,307,591|  3,228,009          -2.41%
LLHitRate                      1|          1          -0.87%
LLMissRate                     0|          0         -17.55%
LLdMissRate                    0|          0         -21.50%
LLhits                    33,660|     32,554          -3.29%
LLiMissRate                    0|          0          +0.03%
RamHitRate                     0|          0         -17.55%
RamHits                    3,845|      3,093         -19.56%
TotalRW                3,345,096|  3,263,656          -2.43%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_3:(load_from_name(parametric-dunescape))
Instructions: 10,971,911 (master) → 10,628,217 (HEAD) : $$\color{lime}-3.13\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -2.03%
D1mr                     143,028|    138,051          -3.48%
D1mw                      47,250|     43,248          -8.47%
DLmr                          32|         31          -3.13%
DLmw                      10,962|     12,991         +18.51%
Dr                     2,658,251|  2,586,158          -2.71%
Dw                     1,843,470|  1,792,075          -2.79%
EstimatedCycles       16,606,600| 16,164,612          -2.66%
I1MissRate                     0|          0          +7.33%
I1mr                       4,914|      5,109          +3.97%
ILmr                         746|        729          -2.28%
Ir                    10,971,911| 10,628,217          -3.13%
L1HitRate                     99|         99          +0.02%
L1hits                15,278,440| 14,820,042          -3.00%
LLHitRate                      1|          1          -2.95%
LLMissRate                     0|          0         +20.78%
LLdMissRate                    0|          0         +21.79%
LLhits                   183,452|    172,657          -5.88%
LLiMissRate                    0|          0          +0.88%
RamHitRate                     0|          0         +20.78%
RamHits                   11,740|     13,751         +17.13%
TotalRW               15,473,632| 15,006,450          -3.02%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_4:(load_from_name(red-dress))
Instructions: 34,356,759 (master) → 33,053,898 (HEAD) : $$\color{lime}-3.79\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.40%
D1mr                     483,898|    471,387          -2.59%
D1mw                     137,311|    126,421          -7.93%
DLmr                      39,618|     36,118          -8.83%
DLmw                      68,474|     60,815         -11.19%
Dr                     8,378,357|  8,097,575          -3.35%
Dw                     5,787,228|  5,589,777          -3.41%
EstimatedCycles       54,402,518| 52,191,080          -4.06%
I1MissRate                     0|          0          +2.74%
I1mr                      31,492|     31,127          -1.16%
ILmr                         887|        870          -1.92%
Ir                    34,356,759| 33,053,898          -3.79%
L1HitRate                     99|         99          -0.00%
L1hits                47,869,643| 46,112,315          -3.67%
LLHitRate                      1|          1          +1.41%
LLMissRate                     0|          0          -6.84%
LLdMissRate                    1|          1          -7.19%
LLhits                   543,722|    531,132          -2.32%
LLiMissRate                    0|          0          +1.95%
RamHitRate                     0|          0          -6.84%
RamHits                  108,979|     97,803         -10.26%
TotalRW               48,522,344| 46,741,250          -3.67%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_5:(load_from_name(valley-of-spires))
Instructions: 24,288,573 (master) → 23,423,069 (HEAD) : $$\color{lime}-3.56\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.43%
D1mr                     329,450|    321,343          -2.46%
D1mw                      90,801|     83,758          -7.76%
DLmr                      12,677|     10,205         -19.50%
DLmw                      41,549|     29,470         -29.07%
Dr                     5,932,038|  5,743,293          -3.18%
Dw                     4,082,938|  3,952,270          -3.20%
EstimatedCycles       37,723,107| 36,038,620          -4.47%
I1MissRate                     0|          0          +2.17%
I1mr                      22,026|     21,701          -1.48%
ILmr                         789|        751          -4.82%
Ir                    24,288,573| 23,423,069          -3.56%
L1HitRate                     99|         99          +0.00%
L1hits                33,861,272| 32,691,830          -3.45%
LLHitRate                      1|          1          +3.34%
LLMissRate                     0|          0         -23.89%
LLdMissRate                    1|          0         -24.42%
LLhits                   387,262|    386,376          -0.23%
LLiMissRate                    0|          0          -1.30%
RamHitRate                     0|          0         -23.89%
RamHits                   55,015|     40,426         -26.52%
TotalRW               34,303,549| 33,118,632          -3.45%

🔄 Executor Update

update_executor_gungraun::update_group::update_executor with_setup_0:(setup_update_executor(isometric-fountain))
Instructions: 78,174,782 (master) → 78,132,797 (HEAD) : $$\color{lime}-0.05\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.12%
D1mr                     700,332|    701,089          +0.11%
D1mw                     169,935|    171,835          +1.12%
DLmr                       8,054|      3,028         -62.40%
DLmw                      42,728|     25,960         -39.24%
Dr                    19,520,114| 19,554,913          +0.18%
Dw                    13,126,118| 13,150,291          +0.18%
EstimatedCycles      116,084,846|115,476,825          -0.52%
I1MissRate                     0|          0          +8.66%
I1mr                      62,111|     67,452          +8.60%
ILmr                         362|        256         -29.28%
Ir                    78,174,782| 78,132,797          -0.05%
L1HitRate                     99|         99          -0.01%
L1hits               109,888,636|109,897,625          +0.01%
LLHitRate                      1|          1          +3.38%
LLMissRate                     0|          0         -42.83%
LLdMissRate                    0|          0         -43.02%
LLhits                   881,234|    911,132          +3.39%
LLiMissRate                    0|          0         -29.24%
RamHitRate                     0|          0         -42.83%
RamHits                   51,144|     29,244         -42.82%
TotalRW              110,821,014|110,838,001          +0.02%

update_executor_gungraun::update_group::update_executor with_setup_1:(setup_update_executor(painted-dreams))
Instructions: 44,721,247 (master) → 44,890,602 (HEAD) : $$\color{red}+0.38\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +2.86%
D1mr                     396,748|    411,974          +3.84%
D1mw                      94,328|     95,984          +1.76%
DLmr                         200|        154         -23.00%
DLmw                       8,983|      8,055         -10.33%
Dr                    11,134,996| 11,200,644          +0.59%
Dw                     7,472,640|  7,511,045          +0.51%
EstimatedCycles       65,730,831| 66,055,511          +0.49%
I1MissRate                     0|          0          +7.78%
I1mr                      39,586|     42,827          +8.19%
ILmr                         127|        127          +0.00%
Ir                    44,721,247| 44,890,602          +0.38%
L1HitRate                     99|         99          -0.03%
L1hits                62,798,221| 63,051,506          +0.40%
LLHitRate                      1|          1          +3.60%
LLMissRate                     0|          0         -10.85%
LLdMissRate                    0|          0         -11.10%
LLhits                   521,352|    542,449          +4.05%
LLiMissRate                    0|          0          -0.38%
RamHitRate                     0|          0         -10.85%
RamHits                    9,310|      8,336         -10.46%
TotalRW               63,328,883| 63,602,291          +0.43%

update_executor_gungraun::update_group::update_executor with_setup_2:(setup_update_executor(procedural-string-lights)...
Instructions: 9,912,186 (master) → 10,443,240 (HEAD) : $$\color{red}+5.36\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +7.83%
D1mr                      80,624|     94,237         +16.88%
D1mw                      21,979|     22,652          +3.06%
DLmr                          24|         13         -45.83%
DLmw                       1,202|        992         -17.47%
Dr                     2,445,307|  2,585,331          +5.73%
Dw                     1,639,628|  1,730,587          +5.55%
EstimatedCycles       14,486,853| 15,304,658          +5.65%
I1MissRate                     0|          0          +7.82%
I1mr                       9,825|     11,161         +13.60%
ILmr                         108|        105          -2.78%
Ir                     9,912,186| 10,443,240          +5.36%
L1HitRate                     99|         99          -0.06%
L1hits                13,884,693| 14,631,108          +5.38%
LLHitRate                      1|          1          +8.36%
LLMissRate                     0|          0         -21.09%
LLdMissRate                    0|          0         -22.41%
LLhits                   111,094|    126,940         +14.26%
LLiMissRate                    0|          0          -7.72%
RamHitRate                     0|          0         -21.09%
RamHits                    1,334|      1,110         -16.79%
TotalRW               13,997,121| 14,759,158          +5.44%

update_executor_gungraun::update_group::update_executor with_setup_3:(setup_update_executor(parametric-dunescape))
Instructions: 28,634,028 (master) → 28,583,775 (HEAD) : $$\color{lime}-0.18\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          3          +1.95%
D1mr                     236,368|    240,748          +1.85%
D1mw                      61,389|     59,463          -3.14%
DLmr                          97|         76         -21.65%
DLmw                       6,626|      7,083          +6.90%
Dr                     7,205,300|  7,138,701          -0.92%
Dw                     4,901,700|  4,834,101          -1.38%
EstimatedCycles       42,202,392| 42,052,867          -0.35%
I1MissRate                     0|          0         +18.77%
I1mr                      16,239|     19,254         +18.57%
ILmr                         123|        122          -0.81%
Ir                    28,634,028| 28,583,775          -0.18%
L1HitRate                     99|         99          -0.02%
L1hits                40,427,032| 40,237,112          -0.47%
LLHitRate                      1|          1          +2.10%
LLMissRate                     0|          0          +6.84%
LLdMissRate                    0|          0          +7.68%
LLhits                   307,150|    312,184          +1.64%
LLiMissRate                    0|          0          -0.64%
RamHitRate                     0|          0          +6.84%
RamHits                    6,846|      7,281          +6.35%
TotalRW               40,741,028| 40,556,577          -0.45%

update_executor_gungraun::update_group::update_executor with_setup_4:(setup_update_executor(red-dress))
Instructions: 97,549,266 (master) → 97,648,446 (HEAD) : $$\color{red}+0.10\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.06%
D1mr                     889,541|    893,447          +0.44%
D1mw                     213,913|    213,005          -0.42%
DLmr                      27,235|     15,290         -43.86%
DLmw                      67,804|     53,452         -21.17%
Dr                    24,719,718| 24,799,835          +0.32%
Dw                    16,676,735| 16,734,251          +0.34%
EstimatedCycles      146,530,761|146,014,026          -0.35%
I1MissRate                     0|          0          +8.95%
I1mr                      75,004|     81,799          +9.06%
ILmr                         668|        541         -19.01%
Ir                    97,549,266| 97,648,446          +0.10%
L1HitRate                     99|         99          -0.01%
L1hits               137,767,261|137,994,281          +0.16%
LLHitRate                      1|          1          +3.17%
LLMissRate                     0|          0         -27.73%
LLdMissRate                    0|          0         -27.91%
LLhits                 1,082,751|  1,118,968          +3.34%
LLiMissRate                    0|          0         -19.09%
RamHitRate                     0|          0         -27.73%
RamHits                   95,707|     69,283         -27.61%
TotalRW              138,945,719|139,182,532          +0.17%

update_executor_gungraun::update_group::update_executor with_setup_5:(setup_update_executor(valley-of-spires))
Instructions: 69,017,982 (master) → 68,902,500 (HEAD) : $$\color{lime}-0.17\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.22%
D1mr                     620,604|    613,920          -1.08%
D1mw                     152,498|    149,434          -2.01%
DLmr                       2,014|        790         -60.77%
DLmw                      25,026|     20,051         -19.88%
Dr                    17,297,814| 17,151,066          -0.85%
Dw                    11,627,890| 11,474,068          -1.32%
EstimatedCycles      102,068,832|101,443,346          -0.61%
I1MissRate                     0|          0          +8.15%
I1mr                      53,817|     58,104          +7.97%
ILmr                         209|        155         -25.84%
Ir                    69,017,982| 68,902,500          -0.17%
L1HitRate                     99|         99          +0.00%
L1hits                97,116,767| 96,706,176          -0.42%
LLHitRate                      1|          1          +0.53%
LLMissRate                     0|          0         -22.62%
LLdMissRate                    0|          0         -22.12%
LLhits                   799,670|    800,462          +0.10%
LLiMissRate                    0|          0         -25.71%
RamHitRate                     0|          0         -22.62%
RamHits                   27,249|     20,996         -22.95%
TotalRW               97,943,686| 97,527,634          -0.42%

🚀 Render: Cold Execution

run_once_gungraun::run_once_group::run_once with_setup_0:(setup_run_once(isometric-fountain))
Instructions: 17,202,130 (master) → 17,146,383 (HEAD) : $$\color{lime}-0.32\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +4.79%
D1mr                      99,660|    102,320          +2.67%
D1mw                      70,154|     70,300          +0.21%
DLmr                       4,274|      4,196          -1.82%
DLmw                      12,711|     11,613          -8.64%
Dr                     4,333,854|  4,219,503          -2.64%
Dw                     3,300,059|  3,185,514          -3.47%
EstimatedCycles       27,602,627| 27,294,158          -1.12%
I1MissRate                     2|          2          -0.35%
I1mr                     323,487|    321,317          -0.67%
ILmr                       9,461|      9,758          +3.14%
Ir                    17,202,130| 17,146,383          -0.32%
L1HitRate                     98|         98          -0.03%
L1hits                24,342,742| 24,057,463          -1.17%
LLHitRate                      2|          2          +1.49%
LLMissRate                     0|          0          -2.20%
LLdMissRate                    0|          0          -4.05%
LLhits                   466,855|    468,370          +0.32%
LLiMissRate                    0|          0          +3.47%
RamHitRate                     0|          0          -2.20%
RamHits                   26,446|     25,567          -3.32%
TotalRW               24,836,043| 24,551,400          -1.15%

run_once_gungraun::run_once_group::run_once with_setup_1:(setup_run_once(painted-dreams))
Instructions: 185,480,728 (master) → 185,541,094 (HEAD) : $$\color{red}+0.03\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          -0.60%
D1mr                     559,892|    553,515          -1.14%
D1mw                     374,037|    372,820          -0.33%
DLmr                       2,395|      2,436          +1.71%
DLmw                      46,086|     40,483         -12.16%
Dr                    38,421,909| 38,354,694          -0.17%
Dw                    26,961,226| 26,887,130          -0.27%
EstimatedCycles      264,056,659|263,649,802          -0.15%
I1MissRate                     1|          1          -1.83%
I1mr                   1,913,880|  1,879,446          -1.80%
ILmr                      11,571|     11,873          +2.61%
Ir                   185,480,728|185,541,094          +0.03%
L1HitRate                     99|         99          +0.02%
L1hits               248,016,054|247,977,137          -0.02%
LLHitRate                      1|          1          -1.29%
LLMissRate                     0|          0          -8.73%
LLdMissRate                    0|          0         -11.28%
LLhits                 2,787,757|  2,750,989          -1.32%
LLiMissRate                    0|          0          +2.58%
RamHitRate                     0|          0          -8.73%
RamHits                   60,052|     54,792          -8.76%
TotalRW              250,863,863|250,782,918          -0.03%

run_once_gungraun::run_once_group::run_once with_setup_2:(setup_run_once(procedural-string-lights))
Instructions: 8,558,242 (master) → 8,435,690 (HEAD) : $$\color{lime}-1.43\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          +1.30%
D1mr                      32,331|     30,390          -6.00%
D1mw                      20,999|     19,040          -9.33%
DLmr                       1,094|      1,025          -6.31%
DLmw                       2,154|      2,045          -5.06%
Dr                     2,143,251|  1,982,303          -7.51%
Dw                     1,669,634|  1,506,451          -9.77%
EstimatedCycles       13,325,357| 12,855,670          -3.52%
I1MissRate                     1|          1          -1.26%
I1mr                     102,975|    100,224          -2.67%
ILmr                       7,719|      8,017          +3.86%
Ir                     8,558,242|  8,435,690          -1.43%
L1HitRate                     99|         99          +0.01%
L1hits                12,214,822| 11,774,790          -3.60%
LLHitRate                      1|          1          -1.09%
LLMissRate                     0|          0          +4.88%
LLdMissRate                    0|          0          +3.30%
LLhits                   145,338|    138,567          -4.66%
LLiMissRate                    0|          0          +5.37%
RamHitRate                     0|          0          +4.88%
RamHits                   10,967|     11,087          +1.09%
TotalRW               12,371,127| 11,924,444          -3.61%

run_once_gungraun::run_once_group::run_once with_setup_3:(setup_run_once(parametric-dunescape))
Instructions: 18,988,939 (master) → 18,454,114 (HEAD) : $$\color{lime}-2.82\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          -2.01%
D1mr                      55,763|     48,901         -12.31%
D1mw                      51,563|     47,243          -8.38%
DLmr                         853|        844          -1.06%
DLmw                       3,673|      3,903          +6.26%
Dr                     4,556,185|  4,195,612          -7.91%
Dw                     3,568,467|  3,232,071          -9.43%
EstimatedCycles       28,260,747| 27,002,407          -4.45%
I1MissRate                     1|          1          +3.73%
I1mr                     100,893|    101,711          +0.81%
ILmr                       5,950|      6,226          +4.64%
Ir                    18,988,939| 18,454,114          -2.82%
L1HitRate                     99|         99          +0.00%
L1hits                26,905,372| 25,683,942          -4.54%
LLHitRate                      1|          1          -0.99%
LLMissRate                     0|          0          +9.73%
LLdMissRate                    0|          0         +14.72%
LLhits                   197,743|    186,882          -5.49%
LLiMissRate                    0|          0          +7.67%
RamHitRate                     0|          0          +9.73%
RamHits                   10,476|     10,973          +4.74%
TotalRW               27,113,591| 25,881,797          -4.54%

run_once_gungraun::run_once_group::run_once with_setup_4:(setup_run_once(red-dress))
Instructions: 1,773,886,272 (master) → 1,773,610,728 (HEAD) : $$\color{lime}-0.02\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     0|          0          -5.16%
D1mr                     998,955|    970,184          -2.88%
D1mw                     619,848|    559,714          -9.70%
DLmr                      16,713|     16,207          -3.03%
DLmw                     212,236|    164,327         -22.57%
Dr                   423,148,656|421,366,652          -0.42%
Dw                   278,506,198|277,831,497          -0.24%
EstimatedCycles      2,500,234,846|2,495,606,249          -0.19%
I1MissRate                     0|          0          -0.88%
I1mr                   2,780,787|  2,756,025          -0.89%
ILmr                       7,563|      7,922          +4.75%
Ir                   1,773,886,272|1,773,610,728          -0.02%
L1HitRate                    100|        100          +0.00%
L1hits               2,471,141,536|2,468,522,954          -0.11%
LLHitRate                      0|          0          -1.47%
LLMissRate                     0|          0         -20.23%
LLdMissRate                    0|          0         -20.87%
LLhits                 4,163,078|  4,097,467          -1.58%
LLiMissRate                    0|          0          +4.76%
RamHitRate                     0|          0         -20.23%
RamHits                  236,512|    188,456         -20.32%
TotalRW              2,475,541,126|2,472,808,877          -0.11%

run_once_gungraun::run_once_group::run_once with_setup_5:(setup_run_once(valley-of-spires))
Instructions: 14,798,587 (master) → 14,650,401 (HEAD) : $$\color{lime}-1.00\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +5.41%
D1mr                      85,161|     85,046          -0.14%
D1mw                      61,004|     58,240          -4.53%
DLmr                       3,603|      3,623          +0.56%
DLmw                       9,856|      7,725         -21.62%
Dr                     3,711,135|  3,483,007          -6.15%
Dw                     2,853,171|  2,621,839          -8.11%
EstimatedCycles       23,626,559| 22,944,145          -2.89%
I1MissRate                     2|          2          +0.30%
I1mr                     268,259|    266,366          -0.71%
ILmr                       6,740|      6,995          +3.78%
Ir                    14,798,587| 14,650,401          -1.00%
L1HitRate                     98|         98          -0.03%
L1hits                20,948,469| 20,345,595          -2.88%
LLHitRate                      2|          2          +2.17%
LLMissRate                     0|          0          -6.53%
LLdMissRate                    0|          0          -9.34%
LLhits                   394,225|    391,309          -0.74%
LLiMissRate                    0|          0          +4.83%
RamHitRate                     0|          0          -6.53%
RamHits                   20,199|     18,343          -9.19%
TotalRW               21,362,893| 20,755,247          -2.84%

⚡ Render: Cached Execution

run_cached_gungraun::run_cached_group::run_cached with_setup_0:(setup_run_cached(isometric-fountain))
Instructions: 162,688 (master) → 163,074 (HEAD) : $$\color{red}+0.24\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.49%
D1mr                       3,597|      3,581          -0.44%
D1mw                       2,097|      2,094          -0.14%
DLmr                           4|          5         +25.00%
DLmw                          23|         14         -39.13%
Dr                        98,660|     98,833          +0.18%
Dw                        92,948|     93,067          +0.13%
EstimatedCycles          380,246|    380,484          +0.06%
I1MissRate                     0|          0          -4.99%
I1mr                         336|        320          -4.76%
ILmr                          34|         32          -5.88%
Ir                       162,688|    163,074          +0.24%
L1HitRate                     98|         98          +0.01%
L1hits                   348,266|    348,979          +0.20%
LLHitRate                      2|          2          -0.61%
LLMissRate                     0|          0         -16.55%
LLdMissRate                    0|          0         -29.74%
LLhits                     5,969|      5,944          -0.42%
LLiMissRate                    0|          0          -6.11%
RamHitRate                     0|          0         -16.55%
RamHits                       61|         51         -16.39%
TotalRW                  354,296|    354,974          +0.19%

run_cached_gungraun::run_cached_group::run_cached with_setup_1:(setup_run_cached(painted-dreams))
Instructions: 215,508 (master) → 209,374 (HEAD) : $$\color{lime}-2.85\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.42%
D1mr                       4,534|      4,457          -1.70%
D1mw                       2,802|      2,800          -0.07%
DLmr                           9|         12         +33.33%
DLmw                          99|         12         -87.88%
Dr                       146,900|    145,869          -0.70%
Dw                       141,089|    140,232          -0.61%
EstimatedCycles          538,965|    527,743          -2.08%
I1MissRate                     0|          0          -1.83%
I1mr                         346|        330          -4.62%
ILmr                          50|         40         -20.00%
Ir                       215,508|    209,374          -2.85%
L1HitRate                     98|         98          -0.01%
L1hits                   495,815|    487,888          -1.60%
LLHitRate                      1|          2          +1.61%
LLMissRate                     0|          0         -58.84%
LLdMissRate                    0|          0         -77.63%
LLhits                     7,524|      7,523          -0.01%
LLiMissRate                    0|          0         -17.66%
RamHitRate                     0|          0         -58.84%
RamHits                      158|         64         -59.49%
TotalRW                  503,497|    495,475          -1.59%

run_cached_gungraun::run_cached_group::run_cached with_setup_2:(setup_run_cached(parametric-dunescape))
Instructions: 128,766 (master) → 128,922 (HEAD) : $$\color{red}+0.12\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +0.65%
D1mr                       2,150|      2,173          +1.07%
D1mw                       2,016|      2,021          +0.25%
DLmr                           4|          4          +0.00%
DLmw                           5|          5          +0.00%
Dr                       107,369|    107,415          +0.04%
Dw                       105,624|    105,625          +0.00%
EstimatedCycles          360,989|    361,186          +0.05%
I1MissRate                     0|          0          -2.21%
I1mr                         334|        327          -2.10%
ILmr                          32|         29          -9.38%
Ir                       128,766|    128,922          +0.12%
L1HitRate                     99|         99          -0.01%
L1hits                   337,259|    337,441          +0.05%
LLHitRate                      1|          1          +0.48%
LLMissRate                     0|          0          -7.37%
LLdMissRate                    0|          0          -0.02%
LLhits                     4,459|      4,483          +0.54%
LLiMissRate                    0|          0          -9.48%
RamHitRate                     0|          0          -7.37%
RamHits                       41|         38          -7.32%
TotalRW                  341,759|    341,962          +0.06%

run_cached_gungraun::run_cached_group::run_cached with_setup_3:(setup_run_cached(red-dress))
Instructions: 391,487 (master) → 391,964 (HEAD) : $$\color{red}+0.12\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                    34|         34          -0.07%
D1mr                      41,122|     41,158          +0.09%
D1mw                      26,418|     26,429          +0.04%
DLmr                         133|        100         -24.81%
DLmw                         381|        239         -37.27%
Dr                       106,535|    106,705          +0.16%
Dw                        92,939|     93,047          +0.12%
EstimatedCycles          883,725|    879,394          -0.49%
I1MissRate                     0|          0          -1.88%
I1mr                         341|        335          -1.76%
ILmr                         194|        194          +0.00%
Ir                       391,487|    391,964          +0.12%
L1HitRate                     89|         89          +0.01%
L1hits                   523,080|    523,794          +0.14%
LLHitRate                     11|         11          +0.19%
LLMissRate                     0|          0         -24.81%
LLdMissRate                    0|          0         -34.14%
LLhits                    67,173|     67,389          +0.32%
LLiMissRate                    0|          0          -0.12%
RamHitRate                     0|          0         -24.81%
RamHits                      708|        533         -24.72%
TotalRW                  590,961|    591,716          +0.13%

run_cached_gungraun::run_cached_group::run_cached with_setup_4:(setup_run_cached(valley-of-spires))
Instructions: 151,483 (master) → 152,623 (HEAD) : $$\color{red}+0.75\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -2.65%
D1mr                       3,346|      3,207          -4.15%
D1mw                       2,056|      2,062          +0.29%
DLmr                           4|          4          +0.00%
DLmw                          15|         19         +26.67%
Dr                        95,134|     95,372          +0.25%
Dw                        90,309|     90,437          +0.14%
EstimatedCycles          361,400|    362,372          +0.27%
I1MissRate                     0|          0          -3.12%
I1mr                         334|        326          -2.40%
ILmr                          32|         29          -9.38%
Ir                       151,483|    152,623          +0.75%
L1HitRate                     98|         98          +0.05%
L1hits                   331,190|    332,837          +0.50%
LLHitRate                      2|          2          -2.93%
LLMissRate                     0|          0          +1.51%
LLdMissRate                    0|          0         +20.81%
LLhits                     5,685|      5,543          -2.50%
LLiMissRate                    0|          0         -10.05%
RamHitRate                     0|          0          +1.51%
RamHits                       51|         52          +1.96%
TotalRW                  336,926|    338,432          +0.45%

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 10 files (changes from recent commits).

Confidence score: 3/5

  • raster_kernel.rs can route dehaze guided-filter statistics through Rgba16Float on fallback GPUs, where variance precision is lost. Preserve higher precision for these statistics.
  • wgpu-executor/src/lib.rs does not check whether the fallback format supports RENDER_ATTACHMENT, so pipeline or texture creation can still fail on downlevel adapters. Check the fallback format’s allowed usages before selecting it.
  • texture_conversion.rs duplicates the existing From<Color> for RGBA16F conversion. Collect RGBA16F values and cast them instead so the f16 packing stays in one place.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="node-graph/nodes/raster/src/raster_kernel.rs">

<violation number="1" location="node-graph/nodes/raster/src/raster_kernel.rs:413">
P2: The executor can select `Rgba16Float`, so this routes dehaze’s guided-filter statistics through half-float outputs on fallback GPUs even though their variances lose precision at that format. Preserve higher precision for these intermediates or otherwise adapt the calculation to avoid the loss.</violation>
</file>

<file name="node-graph/libraries/wgpu-executor/src/texture_conversion.rs">

<violation number="1" location="node-graph/libraries/wgpu-executor/src/texture_conversion.rs:20">
P3: This per-channel `f16::from_f32` conversion duplicates the existing `From<Color> for RGBA16F`. Collect `RGBA16F` values instead and cast them, so the f16 packing lives in one place.</violation>
</file>

<file name="node-graph/libraries/wgpu-executor/src/lib.rs">

<violation number="1" location="node-graph/libraries/wgpu-executor/src/lib.rs:174">
P2: The fallback format is not checked for `RENDER_ATTACHMENT` support, so downlevel adapters that also lack renderable `Rgba16Float` still fail during pipeline or texture creation. Check the fallback's allowed usages and choose another supported format or fail initialization cleanly.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

}

fn raster_format(pipeline: &WgpuPipelineCache) -> WgpuTextureFormat {
pipeline.executor().map_or(RASTER_FORMAT, WgpuExecutor::raster_format)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The executor can select Rgba16Float, so this routes dehaze’s guided-filter statistics through half-float outputs on fallback GPUs even though their variances lose precision at that format. Preserve higher precision for these intermediates or otherwise adapt the calculation to avoid the loss.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/nodes/raster/src/raster_kernel.rs, line 413:

<comment>The executor can select `Rgba16Float`, so this routes dehaze’s guided-filter statistics through half-float outputs on fallback GPUs even though their variances lose precision at that format. Preserve higher precision for these intermediates or otherwise adapt the calculation to avoid the loss.</comment>

<file context>
@@ -409,12 +409,16 @@ fn run<K: ToGpuParams + 'static>(
 }
 
+fn raster_format(pipeline: &WgpuPipelineCache) -> WgpuTextureFormat {
+	pipeline.executor().map_or(RASTER_FORMAT, WgpuExecutor::raster_format)
+}
+
</file context>

RASTER_FORMAT
} else {
log::warn!("The GPU can't render to {RASTER_FORMAT:?}, so rasters fall back to {FALLBACK_RASTER_FORMAT:?}");
FALLBACK_RASTER_FORMAT

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The fallback format is not checked for RENDER_ATTACHMENT support, so downlevel adapters that also lack renderable Rgba16Float still fail during pipeline or texture creation. Check the fallback's allowed usages and choose another supported format or fail initialization cleanly.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/libraries/wgpu-executor/src/lib.rs, line 174:

<comment>The fallback format is not checked for `RENDER_ATTACHMENT` support, so downlevel adapters that also lack renderable `Rgba16Float` still fail during pipeline or texture creation. Check the fallback's allowed usages and choose another supported format or fail initialization cleanly.</comment>

<file context>
@@ -137,17 +145,32 @@ impl WgpuExecutor {
+		RASTER_FORMAT
+	} else {
+		log::warn!("The GPU can't render to {RASTER_FORMAT:?}, so rasters fall back to {FALLBACK_RASTER_FORMAT:?}");
+		FALLBACK_RASTER_FORMAT
+	}
+}
</file context>

let texture = executor.request_texture_with_format(glam::UVec2::new(image.width, image.height), TextureFormat::Rgba8UnormSrgb);
let format = executor.raster_format();
let texture = executor.request_texture_with_format(glam::UVec2::new(image.width, image.height), format);
let half_floats: Vec<[f16; 4]>;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This per-channel f16::from_f32 conversion duplicates the existing From<Color> for RGBA16F. Collect RGBA16F values instead and cast them, so the f16 packing lives in one place.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/libraries/wgpu-executor/src/texture_conversion.rs, line 20:

<comment>This per-channel `f16::from_f32` conversion duplicates the existing `From<Color> for RGBA16F`. Collect `RGBA16F` values instead and cast them, so the f16 packing lives in one place.</comment>

<file context>
@@ -14,13 +15,21 @@ fn upload_to_texture(executor: &WgpuExecutor, queue: &wgpu::Queue, image: &Raste
-	let texture = executor.request_texture_with_format(glam::UVec2::new(image.width, image.height), crate::RASTER_FORMAT);
+	let format = executor.raster_format();
+	let texture = executor.request_texture_with_format(glam::UVec2::new(image.width, image.height), format);
+	let half_floats: Vec<[f16; 4]>;
+	let (bytes, bytes_per_pixel) = if format == crate::FALLBACK_RASTER_FORMAT {
+		half_floats = image.data.iter().map(|color| color.to_vec4().to_array().map(f16::from_f32)).collect();
</file context>

@github-actions

Copy link
Copy Markdown
Performance Benchmark Results

🔧 Graph Compilation

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_0:(load_from_name(isometric-fountain))
Instructions: 27,284,692 (master) → 26,524,735 (HEAD) : $$\color{lime}-2.79\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -1.34%
D1mr                     385,432|    375,345          -2.62%
D1mw                     111,741|    102,941          -7.88%
DLmr                      19,454|     17,550          -9.79%
DLmw                      50,373|     52,571          +4.36%
Dr                     6,655,304|  6,491,178          -2.47%
Dw                     4,592,589|  4,476,221          -2.53%
EstimatedCycles       42,739,227| 41,630,438          -2.59%
I1MissRate                     0|          0          +2.03%
I1mr                      24,560|     24,360          -0.81%
ILmr                         830|        803          -3.25%
Ir                    27,284,692| 26,524,735          -2.79%
L1HitRate                     99|         99          +0.01%
L1hits                38,010,852| 36,989,488          -2.69%
LLHitRate                      1|          1          -1.63%
LLMissRate                     0|          0          +3.16%
LLdMissRate                    1|          1          +2.99%
LLhits                   451,076|    431,722          -4.29%
LLiMissRate                    0|          0          -0.48%
RamHitRate                     0|          0          +3.16%
RamHits                   70,657|     70,924          +0.38%
TotalRW               38,532,585| 37,492,134          -2.70%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_1:(load_from_name(painted-dreams))
Instructions: 15,636,163 (master) → 15,091,760 (HEAD) : $$\color{lime}-3.48\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.96%
D1mr                     213,148|    205,976          -3.36%
D1mw                      61,522|     57,507          -6.53%
DLmr                         344|        255         -25.87%
DLmw                      18,156|     16,743          -7.78%
Dr                     3,823,130|  3,703,488          -3.13%
Dw                     2,642,753|  2,559,132          -3.16%
EstimatedCycles       23,827,210| 22,989,754          -3.51%
I1MissRate                     0|          0          +4.56%
I1mr                      12,666|     12,783          +0.92%
ILmr                         694|        679          -2.16%
Ir                    15,636,163| 15,091,760          -3.48%
L1HitRate                     99|         99          +0.01%
L1hits                21,814,710| 21,078,114          -3.38%
LLHitRate                      1|          1          -0.19%
LLMissRate                     0|          0          -4.68%
LLdMissRate                    0|          0          -5.14%
LLhits                   268,142|    258,589          -3.56%
LLiMissRate                    0|          0          +1.37%
RamHitRate                     0|          0          -4.68%
RamHits                   19,194|     17,677          -7.90%
TotalRW               22,102,046| 21,354,380          -3.38%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_2:(load_from_name(procedural-string-lights))
Instructions: 2,382,120 (master) → 2,322,186 (HEAD) : $$\color{lime}-2.52\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          3          -4.27%
D1mr                      23,340|     22,144          -5.12%
D1mw                      11,113|     10,100          -9.12%
DLmr                          15|         14          -6.67%
DLmw                       3,148|      2,390         -24.08%
Dr                       564,655|    552,668          -2.12%
Dw                       397,493|    387,987          -2.39%
EstimatedCycles        3,609,650|  3,496,473          -3.14%
I1MissRate                     0|          0          +4.90%
I1mr                       3,055|      3,124          +2.26%
ILmr                         682|        668          -2.05%
Ir                     2,382,120|  2,322,186          -2.52%
L1HitRate                     99|         99          +0.04%
L1hits                 3,306,760|  3,227,473          -2.40%
LLHitRate                      1|          1          -1.67%
LLMissRate                     0|          0         -18.11%
LLdMissRate                    0|          0         -22.26%
LLhits                    33,663|     32,296          -4.06%
LLiMissRate                    0|          0          +0.48%
RamHitRate                     0|          0         -18.11%
RamHits                    3,845|      3,072         -20.10%
TotalRW                3,344,268|  3,262,841          -2.43%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_3:(load_from_name(parametric-dunescape))
Instructions: 10,972,117 (master) → 10,617,106 (HEAD) : $$\color{lime}-3.24\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -2.21%
D1mr                     143,007|    137,567          -3.80%
D1mw                      47,235|     43,034          -8.89%
DLmr                          32|         33          +3.13%
DLmw                      10,959|     13,006         +18.68%
Dr                     2,658,290|  2,582,287          -2.86%
Dw                     1,843,484|  1,788,055          -3.01%
EstimatedCycles       16,606,625| 16,143,314          -2.79%
I1MissRate                     0|          0          +7.53%
I1mr                       4,914|      5,113          +4.05%
ILmr                         746|        728          -2.41%
Ir                    10,972,117| 10,617,106          -3.24%
L1HitRate                     99|         99          +0.02%
L1hits                15,278,735| 14,801,734          -3.12%
LLHitRate                      1|          1          -3.21%
LLMissRate                     0|          0         +21.10%
LLdMissRate                    0|          0         +22.20%
LLhits                   183,419|    171,947          -6.25%
LLiMissRate                    0|          0          +0.85%
RamHitRate                     0|          0         +21.10%
RamHits                   11,737|     13,767         +17.30%
TotalRW               15,473,891| 14,987,448          -3.14%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_4:(load_from_name(red-dress))
Instructions: 34,356,243 (master) → 33,042,490 (HEAD) : $$\color{lime}-3.82\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.55%
D1mr                     484,018|    470,417          -2.81%
D1mw                     137,287|    126,219          -8.06%
DLmr                      39,618|     36,236          -8.54%
DLmw                      68,488|     60,663         -11.43%
Dr                     8,378,297|  8,093,235          -3.40%
Dw                     5,787,215|  5,585,420          -3.49%
EstimatedCycles       54,402,763| 52,163,615          -4.12%
I1MissRate                     0|          0          +1.21%
I1mr                      31,492|     30,654          -2.66%
ILmr                         888|        878          -1.13%
Ir                    34,356,243| 33,042,490          -3.82%
L1HitRate                     99|         99          +0.00%
L1hits                47,868,958| 46,093,855          -3.71%
LLHitRate                      1|          1          +1.12%
LLMissRate                     0|          0          -6.83%
LLdMissRate                    1|          1          -7.18%
LLhits                   543,803|    529,513          -2.63%
LLiMissRate                    0|          0          +2.81%
RamHitRate                     0|          0          -6.83%
RamHits                  108,994|     97,777         -10.29%
TotalRW               48,521,755| 46,721,145          -3.71%

compile_demo_art_gungraun::compile_group::compile_to_proto with_setup_5:(load_from_name(valley-of-spires))
Instructions: 24,293,079 (master) → 23,378,984 (HEAD) : $$\color{lime}-3.76\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.75%
D1mr                     329,622|    320,107          -2.89%
D1mw                      90,819|     82,916          -8.70%
DLmr                      12,678|     10,271         -18.99%
DLmw                      41,541|     27,081         -34.81%
Dr                     5,932,488|  5,731,546          -3.39%
Dw                     4,082,927|  3,941,656          -3.46%
EstimatedCycles       37,728,602| 35,894,294          -4.86%
I1MissRate                     0|          0          +2.27%
I1mr                      22,026|     21,679          -1.58%
ILmr                         789|        758          -3.93%
Ir                    24,293,079| 23,378,984          -3.76%
L1HitRate                     99|         99          +0.00%
L1hits                33,866,027| 32,627,484          -3.66%
LLHitRate                      1|          1          +3.57%
LLMissRate                     0|          0         -28.09%
LLdMissRate                    1|          0         -28.67%
LLhits                   387,459|    386,592          -0.22%
LLiMissRate                    0|          0          -0.17%
RamHitRate                     0|          0         -28.09%
RamHits                   55,008|     38,110         -30.72%
TotalRW               34,308,494| 33,052,186          -3.66%

🔄 Executor Update

update_executor_gungraun::update_group::update_executor with_setup_0:(setup_update_executor(isometric-fountain))
Instructions: 78,165,117 (master) → 78,040,098 (HEAD) : $$\color{lime}-0.16\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -2.57%
D1mr                     718,901|    693,313          -3.56%
D1mw                     170,685|    170,304          -0.22%
DLmr                       7,902|      4,944         -37.43%
DLmw                      43,209|     26,798         -37.98%
Dr                    19,507,913| 19,447,499          -0.31%
Dw                    13,094,154| 13,036,209          -0.44%
EstimatedCycles      116,118,530|115,180,398          -0.81%
I1MissRate                     0|          0          -2.47%
I1mr                      61,993|     60,366          -2.62%
ILmr                         390|        280         -28.21%
Ir                    78,165,117| 78,040,098          -0.16%
L1HitRate                     99|         99          +0.02%
L1hits               109,815,605|109,599,823          -0.20%
LLHitRate                      1|          1          -0.68%
LLMissRate                     0|          0         -37.69%
LLdMissRate                    0|          0         -37.67%
LLhits                   900,078|    891,961          -0.90%
LLiMissRate                    0|          0         -28.09%
RamHitRate                     0|          0         -37.69%
RamHits                   51,501|     32,022         -37.82%
TotalRW              110,767,184|110,523,806          -0.22%

update_executor_gungraun::update_group::update_executor with_setup_1:(setup_update_executor(painted-dreams))
Instructions: 44,740,443 (master) → 44,922,480 (HEAD) : $$\color{red}+0.41\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -3.27%
D1mr                     411,623|    398,075          -3.29%
D1mw                      95,104|     95,432          +0.34%
DLmr                         201|        176         -12.44%
DLmw                       8,572|      8,652          +0.93%
Dr                    11,141,460| 11,213,362          +0.65%
Dw                     7,475,326|  7,531,453          +0.75%
EstimatedCycles       65,819,471| 66,063,905          +0.37%
I1MissRate                     0|          0          -8.88%
I1mr                      42,061|     38,483          -8.51%
ILmr                         130|        127          -2.31%
Ir                    44,740,443| 44,922,480          +0.41%
L1HitRate                     99|         99          +0.03%
L1hits                62,808,441| 63,135,305          +0.52%
LLHitRate                      1|          1          -3.59%
LLMissRate                     0|          0          +0.09%
LLdMissRate                    0|          0          -0.06%
LLhits                   539,885|    523,035          -3.12%
LLiMissRate                    0|          0          -2.70%
RamHitRate                     0|          0          +0.09%
RamHits                    8,903|      8,955          +0.58%
TotalRW               63,357,229| 63,667,295          +0.49%

update_executor_gungraun::update_group::update_executor with_setup_2:(setup_update_executor(procedural-string-lights)...
Instructions: 9,903,865 (master) → 10,429,899 (HEAD) : $$\color{red}+5.31\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.32%
D1mr                      85,151|     90,482          +6.26%
D1mw                      22,141|     22,551          +1.85%
DLmr                          22|          8         -63.64%
DLmw                       1,109|        911         -17.85%
Dr                     2,443,305|  2,583,013          +5.72%
Dw                     1,637,579|  1,730,175          +5.65%
EstimatedCycles       14,490,841| 15,266,511          +5.35%
I1MissRate                     0|          0          -3.31%
I1mr                       9,961|     10,143          +1.83%
ILmr                         105|        105          +0.00%
Ir                     9,903,865| 10,429,899          +5.31%
L1HitRate                     99|         99          +0.00%
L1hits                13,867,496| 14,619,911          +5.43%
LLHitRate                      1|          1          -0.13%
LLMissRate                     0|          0         -21.41%
LLdMissRate                    0|          0         -23.12%
LLhits                   116,017|    122,152          +5.29%
LLiMissRate                    0|          0          -5.04%
RamHitRate                     0|          0         -21.41%
RamHits                    1,236|      1,024         -17.15%
TotalRW               13,984,749| 14,743,087          +5.42%

update_executor_gungraun::update_group::update_executor with_setup_3:(setup_update_executor(parametric-dunescape))
Instructions: 28,645,490 (master) → 28,601,966 (HEAD) : $$\color{lime}-0.15\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          3          +2.44%
D1mr                     235,526|    240,930          +2.29%
D1mw                      61,197|     59,491          -2.79%
DLmr                          97|         81         -16.49%
DLmw                      11,131|      6,810         -38.82%
Dr                     7,208,860|  7,140,592          -0.95%
Dw                     4,904,834|  4,831,687          -1.49%
EstimatedCycles       42,351,754| 42,055,901          -0.70%
I1MissRate                     0|          0          +7.22%
I1mr                      16,242|     17,388          +7.06%
ILmr                         129|        123          -4.65%
Ir                    28,645,490| 28,601,966          -0.15%
L1HitRate                     99|         99          -0.02%
L1hits                40,446,219| 40,256,436          -0.47%
LLHitRate                      1|          1          +3.52%
LLMissRate                     0|          0         -37.96%
LLdMissRate                    0|          0         -37.90%
LLhits                   301,608|    310,795          +3.05%
LLiMissRate                    0|          0          -4.51%
RamHitRate                     0|          0         -37.96%
RamHits                   11,357|      7,014         -38.24%
TotalRW               40,759,184| 40,574,245          -0.45%

update_executor_gungraun::update_group::update_executor with_setup_4:(setup_update_executor(red-dress))
Instructions: 97,537,867 (master) → 97,659,645 (HEAD) : $$\color{red}+0.12\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.65%
D1mr                     895,796|    893,130          -0.30%
D1mw                     214,831|    214,021          -0.38%
DLmr                      27,977|     15,778         -43.60%
DLmw                      67,338|     56,006         -16.83%
Dr                    24,716,457| 24,799,981          +0.34%
Dw                    16,674,384| 16,729,915          +0.33%
EstimatedCycles      146,553,484|146,079,761          -0.32%
I1MissRate                     0|          0          -3.18%
I1mr                      75,492|     73,184          -3.06%
ILmr                         695|        512         -26.33%
Ir                    97,537,867| 97,659,645          +0.12%
L1HitRate                     99|         99          +0.01%
L1hits               137,742,589|138,009,206          +0.19%
LLHitRate                      1|          1          +1.45%
LLMissRate                     0|          0         -24.84%
LLdMissRate                    0|          0         -24.94%
LLhits                 1,090,109|  1,108,039          +1.64%
LLiMissRate                    0|          0         -26.42%
RamHitRate                     0|          0         -24.84%
RamHits                   96,010|     72,296         -24.70%
TotalRW              138,928,708|139,189,541          +0.19%

update_executor_gungraun::update_group::update_executor with_setup_5:(setup_update_executor(valley-of-spires))
Instructions: 68,793,098 (master) → 68,883,164 (HEAD) : $$\color{red}+0.13\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +1.60%
D1mr                     615,426|    629,189          +2.24%
D1mw                     148,551|    150,799          +1.51%
DLmr                       2,061|        948         -54.00%
DLmw                      24,623|     21,018         -14.64%
Dr                    17,075,073| 17,144,180          +0.40%
Dw                    11,395,364| 11,465,530          +0.62%
EstimatedCycles      101,341,177|101,487,078          +0.14%
I1MissRate                     0|          0          -2.43%
I1mr                      53,886|     52,648          -2.30%
ILmr                         189|        156         -17.46%
Ir                    68,793,098| 68,883,164          +0.13%
L1HitRate                     99|         99          -0.01%
L1hits                96,445,672| 96,660,238          +0.22%
LLHitRate                      1|          1          +2.23%
LLMissRate                     0|          0         -17.87%
LLdMissRate                    0|          0         -18.08%
LLhits                   790,990|    810,514          +2.47%
LLiMissRate                    0|          0         -17.57%
RamHitRate                     0|          0         -17.87%
RamHits                   26,873|     22,122         -17.68%
TotalRW               97,263,535| 97,492,874          +0.24%

🚀 Render: Cold Execution

run_once_gungraun::run_once_group::run_once with_setup_0:(setup_run_once(isometric-fountain))
Instructions: 17,243,356 (master) → 17,126,747 (HEAD) : $$\color{lime}-0.68\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +4.76%
D1mr                     101,256|    102,281          +1.01%
D1mw                      71,068|     70,380          -0.97%
DLmr                       4,258|      4,239          -0.45%
DLmw                      12,387|     10,675         -13.82%
Dr                     4,362,263|  4,194,404          -3.85%
Dw                     3,326,719|  3,159,396          -5.03%
EstimatedCycles       27,699,848| 27,203,993          -1.79%
I1MissRate                     2|          2          +0.47%
I1mr                     323,781|    323,108          -0.21%
ILmr                       9,458|      9,765          +3.25%
Ir                    17,243,356| 17,126,747          -0.68%
L1HitRate                     98|         98          -0.04%
L1hits                24,436,233| 23,984,778          -1.85%
LLHitRate                      2|          2          +2.08%
LLMissRate                     0|          0          -3.71%
LLdMissRate                    0|          0          -6.32%
LLhits                   470,002|    471,090          +0.23%
LLiMissRate                    0|          0          +3.95%
RamHitRate                     0|          0          -3.71%
RamHits                   26,103|     24,679          -5.46%
TotalRW               24,932,338| 24,480,547          -1.81%

run_once_gungraun::run_once_group::run_once with_setup_1:(setup_run_once(painted-dreams))
Instructions: 185,603,365 (master) → 185,275,191 (HEAD) : $$\color{lime}-0.18\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          +0.56%
D1mr                     561,083|    559,658          -0.25%
D1mw                     380,603|    374,317          -1.65%
DLmr                       2,360|      2,422          +2.63%
DLmw                      47,183|     39,016         -17.31%
Dr                    38,598,264| 38,150,812          -1.16%
Dw                    27,145,799| 26,688,616          -1.68%
EstimatedCycles      264,598,968|263,038,679          -0.59%
I1MissRate                     1|          1          -0.65%
I1mr                   1,912,949|  1,897,140          -0.83%
ILmr                      11,557|     11,882          +2.81%
Ir                   185,603,365|185,275,191          -0.18%
L1HitRate                     99|         99          +0.00%
L1hits               248,492,793|247,283,504          -0.49%
LLHitRate                      1|          1          -0.07%
LLMissRate                     0|          0         -12.30%
LLdMissRate                    0|          0         -15.19%
LLhits                 2,793,535|  2,777,795          -0.56%
LLiMissRate                    0|          0          +2.99%
RamHitRate                     0|          0         -12.30%
RamHits                   61,100|     53,320         -12.73%
TotalRW              251,347,428|250,114,619          -0.49%

run_once_gungraun::run_once_group::run_once with_setup_2:(setup_run_once(procedural-string-lights))
Instructions: 8,565,340 (master) → 8,453,844 (HEAD) : $$\color{lime}-1.30\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          +0.85%
D1mr                      31,998|     29,971          -6.33%
D1mw                      21,034|     18,987          -9.73%
DLmr                       1,097|      1,044          -4.83%
DLmw                       1,943|      2,212         +13.84%
Dr                     2,145,033|  1,985,684          -7.43%
Dw                     1,670,839|  1,507,496          -9.78%
EstimatedCycles       13,327,390| 12,880,208          -3.36%
I1MissRate                     1|          1          -1.92%
I1mr                     102,865|     99,573          -3.20%
ILmr                       7,713|      8,046          +4.32%
Ir                     8,565,340|  8,453,844          -1.30%
L1HitRate                     99|         99          +0.02%
L1hits                12,225,315| 11,798,493          -3.49%
LLHitRate                      1|          1          -2.02%
LLMissRate                     0|          0          +8.93%
LLdMissRate                    0|          0         +17.00%
LLhits                   145,144|    137,229          -5.45%
LLiMissRate                    0|          0          +5.69%
RamHitRate                     0|          0          +8.93%
RamHits                   10,753|     11,302          +5.11%
TotalRW               12,381,212| 11,947,024          -3.51%

run_once_gungraun::run_once_group::run_once with_setup_3:(setup_run_once(parametric-dunescape))
Instructions: 18,975,284 (master) → 18,465,830 (HEAD) : $$\color{lime}-2.68\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          -3.55%
D1mr                      55,767|     48,623         -12.81%
D1mw                      53,063|     47,026         -11.38%
DLmr                         844|        866          +2.61%
DLmw                       3,153|      3,967         +25.82%
Dr                     4,551,325|  4,182,198          -8.11%
Dw                     3,566,117|  3,214,849          -9.85%
EstimatedCycles       28,230,004| 26,982,079          -4.42%
I1MissRate                     1|          1          +2.89%
I1mr                     100,917|    101,044          +0.13%
ILmr                       5,946|      6,248          +5.08%
Ir                    18,975,284| 18,465,830          -2.68%
L1HitRate                     99|         99          +0.01%
L1hits                26,882,979| 25,666,184          -4.53%
LLHitRate                      1|          1          -2.69%
LLMissRate                     0|          0         +16.74%
LLdMissRate                    0|          0         +32.69%
LLhits                   199,804|    185,612          -7.10%
LLiMissRate                    0|          0          +7.98%
RamHitRate                     0|          0         +16.74%
RamHits                    9,943|     11,081         +11.45%
TotalRW               27,092,726| 25,862,877          -4.54%

run_once_gungraun::run_once_group::run_once with_setup_4:(setup_run_once(red-dress))
Instructions: 1,774,132,628 (master) → 1,773,213,685 (HEAD) : $$\color{lime}-0.05\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     0|          0          -0.72%
D1mr                   1,014,985|  1,036,097          +2.08%
D1mw                     622,450|    583,902          -6.19%
DLmr                      16,580|     16,377          -1.22%
DLmw                     212,062|    172,404         -18.70%
Dr                   423,194,151|421,400,814          -0.42%
Dw                   278,528,076|277,874,765          -0.23%
EstimatedCycles      2,500,618,291|2,495,863,464          -0.19%
I1MissRate                     0|          0          -1.16%
I1mr                   2,781,894|  2,748,211          -1.21%
ILmr                       7,562|      7,931          +4.88%
Ir                   1,774,132,628|1,773,213,685          -0.05%
L1HitRate                    100|        100          +0.00%
L1hits               2,471,435,526|2,468,121,054          -0.13%
LLHitRate                      0|          0          -0.14%
LLMissRate                     0|          0         -16.61%
LLdMissRate                    0|          0         -17.14%
LLhits                 4,183,125|  4,171,498          -0.28%
LLiMissRate                    0|          0          +4.93%
RamHitRate                     0|          0         -16.61%
RamHits                  236,204|    196,712         -16.72%
TotalRW              2,475,854,855|2,472,489,264          -0.14%

run_once_gungraun::run_once_group::run_once with_setup_5:(setup_run_once(valley-of-spires))
Instructions: 14,822,685 (master) → 14,667,838 (HEAD) : $$\color{lime}-1.04\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +5.09%
D1mr                      85,302|     85,240          -0.07%
D1mw                      61,523|     59,080          -3.97%
DLmr                       3,589|      3,619          +0.84%
DLmw                       9,514|      8,430         -11.39%
Dr                     3,723,124|  3,510,367          -5.71%
Dw                     2,864,514|  2,651,129          -7.45%
EstimatedCycles       23,665,795| 23,051,044          -2.60%
I1MissRate                     2|          2          +0.95%
I1mr                     268,243|    267,955          -0.11%
ILmr                       6,737|      7,038          +4.47%
Ir                    14,822,685| 14,667,838          -1.04%
L1HitRate                     98|         98          -0.04%
L1hits                20,995,255| 20,417,059          -2.75%
LLHitRate                      2|          2          +2.26%
LLMissRate                     0|          0          -1.11%
LLdMissRate                    0|          0          -1.68%
LLhits                   395,228|    393,188          -0.52%
LLiMissRate                    0|          0          +5.57%
RamHitRate                     0|          0          -1.11%
RamHits                   19,840|     19,087          -3.80%
TotalRW               21,410,323| 20,829,334          -2.71%

⚡ Render: Cached Execution

run_cached_gungraun::run_cached_group::run_cached with_setup_0:(setup_run_cached(isometric-fountain))
Instructions: 162,952 (master) → 163,343 (HEAD) : $$\color{red}+0.24\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +3.75%
D1mr                       3,447|      3,648          +5.83%
D1mw                       2,116|      2,128          +0.57%
DLmr                           4|          4          +0.00%
DLmw                          16|         11         -31.25%
Dr                        98,765|     98,849          +0.09%
Dw                        92,995|     93,063          +0.07%
EstimatedCycles          379,910|    381,003          +0.29%
I1MissRate                     0|          0         -11.42%
I1mr                         339|        301         -11.21%
ILmr                          33|         33          +0.00%
Ir                       162,952|    163,343          +0.24%
L1HitRate                     98|         98          -0.05%
L1hits                   348,810|    349,178          +0.11%
LLHitRate                      2|          2          +2.92%
LLMissRate                     0|          0          -9.57%
LLdMissRate                    0|          0         -25.06%
LLhits                     5,849|      6,029          +3.08%
LLiMissRate                    0|          0          -0.24%
RamHitRate                     0|          0          -9.57%
RamHits                       53|         48          -9.43%
TotalRW                  354,712|    355,255          +0.15%

run_cached_gungraun::run_cached_group::run_cached with_setup_1:(setup_run_cached(painted-dreams))
Instructions: 209,532 (master) → 209,589 (HEAD) : $$\color{red}+0.03\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.18%
D1mr                       4,494|      4,487          -0.16%
D1mw                       2,819|      2,810          -0.32%
DLmr                          10|          7         -30.00%
DLmw                          73|         11         -84.93%
Dr                       145,950|    145,893          -0.04%
Dw                       140,298|    140,250          -0.03%
EstimatedCycles          530,378|    528,104          -0.43%
I1MissRate                     0|          0         -11.23%
I1mr                         339|        301         -11.21%
ILmr                          50|         48          -4.00%
Ir                       209,532|    209,589          +0.03%
L1HitRate                     98|         98          +0.01%
L1hits                   488,128|    488,134          +0.00%
LLHitRate                      2|          2          +0.18%
LLMissRate                     0|          0         -50.37%
LLdMissRate                    0|          0         -78.31%
LLhits                     7,519|      7,532          +0.17%
LLiMissRate                    0|          0          -4.03%
RamHitRate                     0|          0         -50.37%
RamHits                      133|         66         -50.38%
TotalRW                  495,780|    495,732          -0.01%

run_cached_gungraun::run_cached_group::run_cached with_setup_2:(setup_run_cached(parametric-dunescape))
Instructions: 128,971 (master) → 129,036 (HEAD) : $$\color{red}+0.05\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +0.65%
D1mr                       2,173|      2,184          +0.51%
D1mw                       2,011|      2,030          +0.94%
DLmr                           4|          3         -25.00%
DLmw                           5|        270       +5300.00%
Dr                       107,390|    107,447          +0.05%
Dw                       105,615|    105,690          +0.07%
EstimatedCycles          361,318|    369,301          +2.21%
I1MissRate                     0|          0         -11.96%
I1mr                         344|        303         -11.92%
ILmr                          32|         29          -9.38%
Ir                       128,971|    129,036          +0.05%
L1HitRate                     99|         99          +0.00%
L1hits                   337,448|    337,656          +0.06%
LLHitRate                      1|          1          -6.12%
LLMissRate                     0|          0        +636.16%
LLdMissRate                    0|          0       +2931.45%
LLhits                     4,487|      4,215          -6.06%
LLiMissRate                    0|          0          -9.42%
RamHitRate                     0|          0        +636.16%
RamHits                       41|        302        +636.59%
TotalRW                  341,976|    342,173          +0.06%

run_cached_gungraun::run_cached_group::run_cached with_setup_3:(setup_run_cached(red-dress))
Instructions: 392,344 (master) → 391,576 (HEAD) : $$\color{lime}-0.20\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                    34|         34          +0.09%
D1mr                      41,155|     41,176          +0.05%
D1mw                      26,420|     26,429          +0.03%
DLmr                         123|         98         -20.33%
DLmw                         367|        274         -25.34%
Dr                       106,713|    106,670          -0.04%
Dw                        93,068|     93,016          -0.06%
EstimatedCycles          884,283|    880,406          -0.44%
I1MissRate                     0|          0          -7.42%
I1mr                         342|        316          -7.60%
ILmr                         193|        210          +8.81%
Ir                       392,344|    391,576          -0.20%
L1HitRate                     89|         89          -0.02%
L1hits                   524,208|    523,341          -0.17%
LLHitRate                     11|         11          +0.30%
LLMissRate                     0|          0         -14.66%
LLdMissRate                    0|          0         -24.05%
LLhits                    67,234|     67,339          +0.16%
LLiMissRate                    0|          0          +9.02%
RamHitRate                     0|          0         -14.66%
RamHits                      683|        582         -14.79%
TotalRW                  592,125|    591,262          -0.15%

run_cached_gungraun::run_cached_group::run_cached with_setup_4:(setup_run_cached(valley-of-spires))
Instructions: 152,154 (master) → 153,695 (HEAD) : $$\color{red}+1.01\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.63%
D1mr                       3,195|      3,228          +1.03%
D1mw                       2,053|      2,068          +0.73%
DLmr                           4|          4          +0.00%
DLmw                          27|         25          -7.41%
Dr                        95,275|     95,572          +0.31%
Dw                        90,363|     90,593          +0.25%
EstimatedCycles          362,014|    364,026          +0.56%
I1MissRate                     0|          0         -10.46%
I1mr                         335|        303          -9.55%
ILmr                          32|         30          -6.25%
Ir                       152,154|    153,695          +1.01%
L1HitRate                     98|         98          +0.01%
L1hits                   332,209|    334,261          +0.62%
LLHitRate                      2|          2          -0.25%
LLMissRate                     0|          0          -6.92%
LLdMissRate                    0|          0          -6.72%
LLhits                     5,520|      5,540          +0.36%
LLiMissRate                    0|          0          -7.19%
RamHitRate                     0|          0          -6.92%
RamHits                       63|         59          -6.35%
TotalRW                  337,792|    339,860          +0.61%

This branch was successfully deployed

1 active deployment
graphite-dev (Preview) — c8714aa1 Deployed Oct 26, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants