From 9448f0f2224cb2068d409e125f5472b123379dad Mon Sep 17 00:00:00 2001 From: Nicolas Macchioni Date: Mon, 5 Jan 2026 17:16:14 +0000 Subject: [PATCH] parser and types for memoizer artifacts --- src/parsers.rs | 27 +++++++++++++++++++++++++++ src/types.rs | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/src/parsers.rs b/src/parsers.rs index c3f3771..8e63826 100644 --- a/src/parsers.rs +++ b/src/parsers.rs @@ -997,6 +997,33 @@ impl StructuredLogParser for ArtifactParser { } } +pub struct MemoizerArtifactsParser; +impl StructuredLogParser for MemoizerArtifactsParser { + fn name(&self) -> &'static str { + "memoizer_artifacts" + } + fn get_metadata<'e>(&self, e: &'e Envelope) -> Option> { + e.memoizer_artifacts + .as_ref() + .map(|m| Metadata::MemoizerArtifacts(m)) + } + fn parse<'e>( + &self, + lineno: usize, + _metadata: Metadata<'e>, + _rank: Option, + compile_id: &Option, + _payload: &str, + ) -> anyhow::Result { + payload_reformat_file_output( + "memoizer_artifacts.json", + lineno, + compile_id, + format_json_pretty, + ) + } +} + fn render_sym_expr_trie( expr: u64, sym_expr_info_index: &SymExprInfoIndex, diff --git a/src/types.rs b/src/types.rs index b229c0a..66effb7 100644 --- a/src/types.rs +++ b/src/types.rs @@ -447,6 +447,12 @@ pub struct ArtifactMetadata { pub encoding: String, } +#[derive(Debug, Deserialize)] +pub struct MemoizerArtifactsMetadata { + pub aggregated: Option, + pub sub_key: Option, +} + #[derive(Debug, Deserialize, Serialize, Clone)] pub struct CompilationMetricsMetadata { // Other information like frame_key are already in envelope @@ -699,6 +705,7 @@ pub enum Metadata<'e> { AOTAutogradBackwardCompilationMetrics(&'e AOTAutogradBackwardCompilationMetricsMetadata), BwdCompilationMetrics(&'e BwdCompilationMetricsMetadata), Artifact(&'e ArtifactMetadata), + MemoizerArtifacts(&'e MemoizerArtifactsMetadata), DumpFile(&'e DumpFileMetadata), GuardAddedFast(&'e GuardAddedFastMetadata), SymbolicShapePropagateRealTensor(&'e SymbolicShapePropagateRealTensorMetadata), @@ -754,6 +761,7 @@ pub struct Envelope { pub missing_fake_kernel: Option, pub mismatched_fake_kernel: Option, pub artifact: Option, + pub memoizer_artifacts: Option, pub describe_storage: Option, pub describe_tensor: Option, pub describe_source: Option,