diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/Cargo.toml b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/Cargo.toml index a22ca5932b9a23c395a9157e29bb62f7a84dd829..2d91c8ba86c8f90d788c05b42fa71e76a91d99a7 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/Cargo.toml +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/Cargo.toml @@ -20,5 +20,5 @@ serde = { workspace = true, features = ["derive"] } serde_json.workspace = true parser = { path = "../../rust/parser" } layout = { path = "../../rust/layout" } -subgraph = { path = "../../rust/subgraph" } +fsg = { path = "../../rust/fsg" } anyhow = { workspace = true } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/resources/bin.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/resources/bin.ts index a753673a3864606c5ea0ccd3d06f633e9dbb05bc..77a16282164eb0ca2b193373a74238b6e90dda7f 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/resources/bin.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/resources/bin.ts @@ -7,12 +7,12 @@ const RS_PATH = join(CACHE_FOLDER, "rs.json") const RsData = await Bun.file(RS_PATH).json() -const {nodes: rawNodes, edges: rawEdges, subgraphes, nesting_map} = RsData +const {nodes: rawNodes, edges: rawEdges, subgraphs, nesting_map} = RsData const nodes = [] const edges = [] -for (const name of Object.keys(subgraphes)) { +for (const name of Object.keys(subgraphs)) { nodes.push({ v: name, opType: "subgraph" diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/commands.rs b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/commands.rs index 21784b56734858ed3231cbbb4bbd5ded6986d48c..21f88f8885205182241dafb4b87bb300499b8b21 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/commands.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/commands.rs @@ -6,7 +6,7 @@ use layout::{layout, Graph, GraphEdge, GraphNode, Key, KeyCodecExt}; use parser::{parse_bin, Model}; use serde::{de::DeserializeOwned, Deserialize, Serialize}; use smartstring::alias::String; -use subgraph::{result::JSONResult, subgraphs_bin}; +use fsg::{result::JSONResult, fsgs_bin}; use tauri::{path::BaseDirectory, AppHandle, Manager, Result as InvokeResult}; use tauri_plugin_shell::ShellExt; @@ -305,8 +305,8 @@ fn read_from<'a, T: DeserializeOwned, P: AsRef>(path: P) -> T { } #[tauri::command] -pub fn mine_subgraph(path: &str, min_sup: usize, min: usize, max: usize) -> InvokeResult> { - wrap(subgraphs_bin(path, min_sup, min, max)) +pub fn mine_fsg(path: &str, min_sup: usize, min: usize, max: usize) -> InvokeResult> { + wrap(fsgs_bin(path, min_sup, min, max)) } fn wrap(src: Result) -> InvokeResult { diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/lib.rs b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/lib.rs index fa82de044758533ae308407053ed226f24fa46a4..83c6237d48507ead38cc97cf652f3f95fca0d70a 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/lib.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src-tauri/src/lib.rs @@ -1,13 +1,13 @@ mod commands; -use commands::{layout_bin, mine_subgraph}; +use commands::{layout_bin, mine_fsg}; #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_shell::init()) - .invoke_handler(tauri::generate_handler![layout_bin, mine_subgraph]) + .invoke_handler(tauri::generate_handler![layout_bin, mine_fsg]) .run(tauri::generate_context!()) .expect("error while running tauri application"); } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/SubgraphControl.tsx b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/FsgControl.tsx similarity index 63% rename from plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/SubgraphControl.tsx rename to plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/FsgControl.tsx index b8e3d1b02506772d0df24528b52251d02b02b9fa..8bb21c1b7adfd6439a09568bfe6c317b8edeaf9c 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/SubgraphControl.tsx +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/FsgControl.tsx @@ -14,28 +14,28 @@ // limitations under the License. import { useI18n } from "hooks" -import SubgraphIcon from "icons/subgraph.svg?react" +import FsgIcon from "icons/fsg.svg?react" import { useAtom } from "jotai" -import { subgraphPanelVisibleAtom } from "stores" +import { fsgPanelVisibleAtom } from "stores" import { Tooltip } from "ui" -const SubgraphControl = () => { - const [visible, setVisible] = useAtom(subgraphPanelVisibleAtom) +const FsgControl = () => { + const [visible, setVisible] = useAtom(fsgPanelVisibleAtom) const t = useI18n() - const i18nKey = visible ? "control.hideSubgraphPanel" : "control.displaySubgraphPanel" + const i18nKey = visible ? "control.hideFsgPanel" : "control.displayFsgPanel" - const handleToggleSubgraph = () => { + const handleToggleFsg = () => { setVisible(!visible) } - return } -export default SubgraphControl +export default FsgControl diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/index.tsx b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/index.tsx index 2b4b2bdbaf0f25c9aff3d28276d8542f93abff94..c887d4a83dcebfa6643ecec86c37c9c8afb78faf 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/index.tsx +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Control/index.tsx @@ -18,7 +18,7 @@ import Divider from "./Divider" import DynOpMarkControl from "./DynOpMarkControl" import GridControl from "./GridControl" import MinimapControl from "./MinimapControl" -import SubgraphControl from "./SubgraphControl" +import FsgControl from "./FsgControl" import { TranslateControl, ZoomControl } from "./TransformControl" const Control = () =>
- +
diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Subgraph/Filter.tsx b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Fsg/Filter.tsx similarity index 86% rename from plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Subgraph/Filter.tsx rename to plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Fsg/Filter.tsx index 5f4151f2c17115ade37902ed66b53699c6a81bf8..0c06d0dc239ade2048aba866c624611116c32104 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Subgraph/Filter.tsx +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Fsg/Filter.tsx @@ -17,7 +17,7 @@ import { useI18n } from 'hooks' import { joinCls } from 'libs' import { useState } from 'react' import { useAtomValue } from "jotai" -import { subgraphsVisibleAtom } from "../../stores" +import { fsgVisibleAtom } from "../../stores" import { toast } from "sonner"; const commonInputNumberClass: string = joinCls( @@ -32,7 +32,7 @@ const Filter = (props: { onQuery: (repeat: number, min: number, max: number) => const [repeatTimes, setRepeatTimes] = useState(2) const [minNodes, setMinNodes] = useState(2) const [maxNodes, setMaxNodes] = useState(8) - const visible = useAtomValue(subgraphsVisibleAtom) + const visible = useAtomValue(fsgVisibleAtom) const handleInput = (e: React.FormEvent, type: string): void => { const value = parseInt((e.target as HTMLInputElement).value) @@ -53,23 +53,23 @@ const Filter = (props: { onQuery: (repeat: number, min: number, max: number) => const handleQuery = (): void => { if (minNodes > maxNodes) { - toast.warning(t('subgraph.invalidQueryWarning')) + toast.warning(t('fsg.invalidQueryWarning')) return } props.onQuery(repeatTimes, minNodes, maxNodes) } - const toggleSubgraphVis = (): void => { + const toggleFsgVis = (): void => { props.onToggle() } return
- {t('subgraph.minRepeatTimes')} + {t('fsg.minRepeatTimes')} handleInput(e, 'repeat')} /> - {t('subgraph.nodeInSubgraph')} + {t('fsg.nodeInFsg')} handleInput(e, 'min')} @@ -81,11 +81,11 @@ const Filter = (props: { onQuery: (repeat: number, min: number, max: number) => + >{t('fsg.query')} + onClick={toggleFsgVis} + >{ t(visible ? 'fsg.hideFsgs' : 'fsg.displayFsgs')}
} diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Subgraph/index.tsx b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Fsg/index.tsx similarity index 60% rename from plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Subgraph/index.tsx rename to plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Fsg/index.tsx index fd92313517039d3b72c668d1590087810e73ebbf..d28daa61005eedf9293970e20e4820ef83111a83 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Subgraph/index.tsx +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/Fsg/index.tsx @@ -20,22 +20,22 @@ import Filter from './Filter' import { loadingAtom, modelPathAtom, - subgraphPanelVisibleAtom, - subgraphsVisibleAtom, themeAtom + fsgPanelVisibleAtom, + fsgVisibleAtom, themeAtom } from '../../stores' import { useAtom, useSetAtom } from 'jotai/index' import { invoke } from '@tauri-apps/api/core' import type { ColumnsType } from 'antd/es/table' import { ConfigProvider, Table, theme } from 'antd' -import { useState } from 'react' -import { workerInitSubgraphs, workerToggleSubgraphs } from '../../worker-apis' +import { useEffect, useState } from 'react' +import { workerInitFsgs, workerToggleFsgs } from '../../worker-apis' /** * The current algorithm is flawed, results returned are duplicated, * and there are differences only in order * @param graphs Array of NodeId array */ -const dedup = (graphs: SubgraphRet[]): SubgraphTableRow[] => { +const dedup = (graphs: FsgRet[]): FsgTableRow[] => { const seen = new Set() return graphs.map((item, index) => { const dup_nodes = item.instances.map(i => i.node_ids.map(n => n.nid)) @@ -48,7 +48,7 @@ const dedup = (graphs: SubgraphRet[]): SubgraphTableRow[] => { return { key: `${item.optype_struct}_${index}`, - subgraph: item.optype_struct, + fsg: item.optype_struct, count: nodes.length, nodeCount: item.instances[0]?.node_num ?? 0, meanDuration: 0, @@ -58,86 +58,91 @@ const dedup = (graphs: SubgraphRet[]): SubgraphTableRow[] => { }).filter(item => item.count > 0 && item.nodeCount > 0) } -const sortFn = (lhs: SubgraphRet, rhs: SubgraphRet) => +const sortFn = (lhs: FsgRet, rhs: FsgRet) => (rhs.instances[0]?.node_num ?? 0) - (lhs.instances[0]?.node_num ?? 0) -const sortedSubgraphs = (raw: SubgraphRet[]) => raw.sort(sortFn) +const sortedFsgs = (raw: FsgRet[]) => raw.sort(sortFn) -const getColumns = (t: I18nFunc): ColumnsType => { +const getColumns = (t: I18nFunc): ColumnsType => { return [ { - dataIndex: 'subgraph', - title: t('subgraph.subgraph'), - sorter: (a: SubgraphTableRow, b: SubgraphTableRow): number => a.subgraph.localeCompare(b.subgraph), + dataIndex: 'fsg', + title: t('fsg.fsg'), + sorter: (a: FsgTableRow, b: FsgTableRow): number => a.fsg.localeCompare(b.fsg), width: '50%', ellipsis: true }, { dataIndex: 'count', - title: t('subgraph.count'), - sorter: (a: SubgraphTableRow, b: SubgraphTableRow): number => a.count - b.count + title: t('fsg.count'), + sorter: (a: FsgTableRow, b: FsgTableRow): number => a.count - b.count }, { dataIndex: 'nodeCount', - title: t('subgraph.nodeCount'), - sorter: (a: SubgraphTableRow, b: SubgraphTableRow): number => a.nodeCount - b.nodeCount + title: t('fsg.nodeCount'), + sorter: (a: FsgTableRow, b: FsgTableRow): number => a.nodeCount - b.nodeCount }, { dataIndex: 'meanDuration', - title: t('subgraph.meanDuration'), - sorter: (a: SubgraphTableRow, b: SubgraphTableRow): number => a.meanDuration - b.meanDuration + title: t('fsg.meanDuration'), + sorter: (a: FsgTableRow, b: FsgTableRow): number => a.meanDuration - b.meanDuration }, { dataIndex: 'totalDuration', - title: t('subgraph.totalDuration'), - sorter: (a: SubgraphTableRow, b: SubgraphTableRow): number => a.totalDuration - b.totalDuration + title: t('fsg.totalDuration'), + sorter: (a: FsgTableRow, b: FsgTableRow): number => a.totalDuration - b.totalDuration } ] } -const Subgraph = () => { - const visible = useAtomValue(subgraphPanelVisibleAtom) +const Fsg = () => { + const visible = useAtomValue(fsgPanelVisibleAtom) const t = useI18n() const setLoading = useSetAtom(loadingAtom) - const [subgraphVis, setSubgraphVis] = useAtom(subgraphsVisibleAtom) + const [fsgVis, setFsgVis] = useAtom(fsgVisibleAtom) const path = useAtomValue(modelPathAtom) - const [subgraphData, setSubgraphData] = useState([]) - const [selectedRow, setSelectedRow] = useState() + const [fsgData, setFsgData] = useState([]) + const [selectedRow, setSelectedRow] = useState() const columns = getColumns(t) const globalTheme = useAtomValue(themeAtom) - const querySubgraph = async (repeat: number, min: number, max: number) => { + const queryFsg = async (repeat: number, min: number, max: number) => { setLoading(true) - const res = await invoke( - 'mine_subgraph', + const res = await invoke( + 'mine_fsg', { path, minSup: repeat, min, max } ) - const subgraphs = dedup(sortedSubgraphs(res)) - setSubgraphData(subgraphs) + const fsgs = dedup(sortedFsgs(res)) + setFsgData(fsgs) setLoading(false) } - const toggleSubgraph = (): void => { - setSubgraphVis(!subgraphVis) - workerToggleSubgraphs(!subgraphVis) - if (!subgraphVis) { - workerInitSubgraphs(selectedRow?.nodes ?? []) + const toggleFsg = (): void => { + setFsgVis(!fsgVis) + workerToggleFsgs(!fsgVis) + if (!fsgVis) { + workerInitFsgs(selectedRow?.nodes ?? []) } } - const onRow = (record: SubgraphTableRow) => { + const onRow = (record: FsgTableRow) => { return { onClick: () => { setSelectedRow(record) - if (subgraphVis) { - workerInitSubgraphs(record.nodes) + if (fsgVis) { + workerInitFsgs(record.nodes) } } } } + useEffect(() => { + setFsgData([]); + setSelectedRow(undefined); + }, [path]); + return
{ )} style={{display: visible ? 'block' : 'none'}} > - + { record.key === selectedRow?.key ? 'bg-blue-300' : ''} pagination={{ className: '!my-2', pageSizeOptions: ['10', '20', '50', '100'], - total: subgraphData.length, - showTotal: (total: number): string => t('subgraph.paginationTotal', {total: total}), + total: fsgData.length, + showTotal: (total: number): string => t('fsg.paginationTotal', {total: total}), showSizeChanger: true, showQuickJumper: true }} @@ -171,4 +176,4 @@ const Subgraph = () => { } -export default Subgraph +export default Fsg diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/index.tsx b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/index.tsx index 19a8439dfe125f9e92ce71431aa8bab8f35b94d2..dc4e51a6eb7da750fbec9698ac4152fc1cc6edc3 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/index.tsx +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/ModelStructure/index.tsx @@ -24,7 +24,7 @@ import { useRef, useState } from "react" -import { nodesEdgesAtom, subgraphsVisibleAtom, themeAtom, translateAtom, useZoom } from "stores" +import { nodesEdgesAtom, fsgVisibleAtom, themeAtom, translateAtom, useZoom } from "stores" import { workerHitTest, workerInit, @@ -36,7 +36,7 @@ import { import Control from "./Control" import Dynamic from "./Dynamic" import Properties from "./Properties" -import Subgraph from "./Subgraph" +import Fsg from "./Fsg" const ModelStructureComp = ({ width, height }: WindowSize) => { const [isDragging, setIsDragging] = useState(false) @@ -46,7 +46,7 @@ const ModelStructureComp = ({ width, height }: WindowSize) => { const [translate, setTranslate] = useAtom(translateAtom) const [zoom, zoomIn, zoomOut] = useZoom() const theme = useAtomValue(themeAtom) - const subgraphVis = useAtomValue(subgraphsVisibleAtom) + const fsgVis = useAtomValue(fsgVisibleAtom) const ref = useRef(null!) const hlRef = useRef(null!) @@ -128,7 +128,7 @@ const ModelStructureComp = ({ width, height }: WindowSize) => { useEffect(() => { if (!width || !height || !data) return - workerResize({ width, height, subgraphVis }) + workerResize({ width, height, fsgVis }) }, [width, height]) useEffect(() => workerTransform(translate, zoom), [translate, zoom]) @@ -169,7 +169,7 @@ const ModelStructure = () => <> - + diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useCleanup.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useCleanup.ts index c3a19d14340c8b8696dbf01a008f9dbdf74792e6..af8b9b804fca73b9d45bc72c5168c2b8a46630cf 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useCleanup.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useCleanup.ts @@ -19,7 +19,7 @@ import { modelDataAtom, modelPathAtom, nodesEdgesAtom, - subgraphsAtom, subgraphsVisibleAtom, useSelectionHistory + fsgAtom, fsgVisibleAtom, useSelectionHistory } from "stores" import { workerCleanUp } from "worker-apis" @@ -30,8 +30,8 @@ export const useCleanup = (): VoidFunction => { const setNodesEdges = useSetAtom(nodesEdgesAtom as any) const setDynamicNodes = useSetAtom(dynamicNodesAtom as any) const setDynamicVisible = useSetAtom(dynamicVisibleAtom) - const setSubgraphs = useSetAtom(subgraphsAtom as any) - const setSubgraphsVisible = useSetAtom(subgraphsVisibleAtom) + const setFsgs = useSetAtom(fsgAtom as any) + const setFsgsVisible = useSetAtom(fsgVisibleAtom) return () => { workerCleanUp() @@ -42,7 +42,7 @@ export const useCleanup = (): VoidFunction => { setModelPath(null) setDynamicNodes(null) setDynamicVisible(false) - setSubgraphs(null) - setSubgraphsVisible(false) + setFsgs(null) + setFsgsVisible(false) } } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useNewPathForLayout.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useNewPathForLayout.ts index 5189a06bba8f648ba0a8418c29ab75142258d165..95a95f2a858c238ae5ce267b950bfaaa2c25ba8f 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useNewPathForLayout.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/hooks/useNewPathForLayout.ts @@ -23,7 +23,7 @@ import { modelPathAtom, nodesEdgesAtom, recentProjCache, - subgraphsVisibleAtom, + fsgVisibleAtom, translateAtom, useSelectionHistory, useZoom } from "stores" @@ -35,7 +35,7 @@ export const useNewPathForLayout = (): LayoutNewPath => { const setModelData = useSetAtom(modelDataAtom) const setLayoutRet = useSetAtom(nodesEdgesAtom) const setDynamicVisible = useSetAtom(dynamicVisibleAtom) - const setSubgraphsVisible = useSetAtom(subgraphsVisibleAtom) + const setFsgsVisible = useSetAtom(fsgVisibleAtom) const [translate, setTranslate] = useAtom(translateAtom) const [zoom, , resetZoom] = useZoom() const setLoading = useSetAtom(loadingAtom) @@ -64,7 +64,7 @@ export const useNewPathForLayout = (): LayoutNewPath => { setModelData(model) setLayoutRet({nodes, edges}) setDynamicVisible(false) - setSubgraphsVisible(false) + setFsgsVisible(false) if (translate.x !== 0 || translate.y !== 0) setTranslate({ x: 0, y: 0 diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/icons/subgraph.svg b/plugins/mindstudio-insight-plugins/ModelVis/app/src/icons/fsg.svg similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/app/src/icons/subgraph.svg rename to plugins/mindstudio-insight-plugins/ModelVis/app/src/icons/fsg.svg diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/en.json b/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/en.json index 8b63324822cc2cd20a92d0d2e9d5bb53bb140f55..8d66929974afeb6bb4d0d95eda351a240c056c45 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/en.json +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/en.json @@ -10,8 +10,8 @@ "resetZoom": "Reset Zoom", "zoomOut": "ZoomOut", "center": "Center", - "displaySubgraphPanel": "Display SubGraphs Panel", - "hideSubgraphPanel": "Hide SubGraphs Panel", + "displayFsgPanel": "Display FSG Panel", + "hideFsgPanel": "Hide FSG Panel", "markDynOp": "Mark Dynamic Op", "unmarkDynOp": "Unmark Dynamic Op" }, @@ -29,18 +29,18 @@ "close": "Close Project", "recent": "Recent Projects" }, - "subgraph": { + "fsg": { "minRepeatTimes": "Minimum Repetition: ", - "nodeInSubgraph": "Nodes Number: ", + "nodeInFsg": "Nodes Number: ", "query": "Query", - "subgraph": "SubGraph", + "fsg": "Structure", "count": "Count", "nodeCount": "Nodes Number", "meanDuration": "Mean Duration(us)", "totalDuration": "Total Duration(us)", "paginationTotal": "Total {total} items", - "displaySubgraphs": "Display", - "hideSubgraphs": "Hide", + "displayFsgs": "Display", + "hideFsgs": "Hide", "invalidQueryWarning": "Invalid Condition: The number of nodes on the left side cannot be greater than that on the right side" } } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/zh-CN.json b/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/zh-CN.json index aac674a29c4aca04d3dd9523d9eda8c647f01975..a27c52df1ec9259f6168f0712f38888bdb5d7315 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/zh-CN.json +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/locales/zh-CN.json @@ -10,8 +10,8 @@ "resetZoom": "重置缩放", "zoomOut": "放大", "center": "居中", - "displaySubgraphPanel": "显示重复子图配置看板", - "hideSubgraphPanel": "隐藏重复子图配置看板", + "displayFsgPanel": "显示重复结构配置看板", + "hideFsgPanel": "隐藏重复结构配置看板", "markDynOp": "添加动态算子标识", "unmarkDynOp": "去除动态算子标识" }, @@ -29,18 +29,18 @@ "close": "关闭项目", "recent": "最近的项目" }, - "subgraph": { + "fsg": { "minRepeatTimes": "至少重复:", - "nodeInSubgraph": "子图中节点数量", + "nodeInFsg": "结构中节点数量", "query": "查询", - "subgraph": "子图", + "fsg": "结构", "count": "出现次数", "nodeCount": "节点数量", "meanDuration": "平均耗时(us)", "totalDuration": "总耗时(us)", "paginationTotal": "总共{total}条", - "displaySubgraphs": "标记重复子图", - "hideSubgraphs": "隐藏重复子图", - "invalidQueryWarning": "无效查询条件:子图中节点数量范围左侧不能大于右侧" + "displayFsgs": "标记重复结构", + "hideFsgs": "隐藏重复结构", + "invalidQueryWarning": "无效查询条件:结构中节点数量范围左侧不能大于右侧" } } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/convex-hull.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/convex-hull.ts index 6e4470edd83eadf70479bdbb65cacc480aedb992..b86b8cb1cc6af3335f17a990720aa973387d37f4 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/convex-hull.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/convex-hull.ts @@ -15,11 +15,11 @@ import { Nodes } from "./worker" -const collectPoints = (subgraph: string[]) => { +const collectPoints = (fsg: string[]) => { const points: Point[] = [] for (const { id, x, y, width, height } of Nodes) { - if (subgraph.includes(id)) { + if (fsg.includes(id)) { points.push({ x, y }) points.push({ x: x + width, y }) points.push({ x: x + width, y: y + height }) @@ -70,7 +70,7 @@ const isClockwise = (points: Point[], p: Point) => { const crossProduct = (o: Point, a: Point, b: Point) => (a.x - o.x) * (b.y - o.y) - (a.y - o.y) * (b.x - o.x) -export const generatePath = (subgraph: string[]) => { - const points = collectPoints(subgraph) +export const generatePath = (fsg: string[]) => { + const points = collectPoints(fsg) return convexHull(points) } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/render.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/render.ts index 339b349496894952d4ec200091c47d4eeb6fd9b4..3ce24e1bf43db67b94bf5252ec9b158fa2a748a3 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/render.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/render.ts @@ -28,12 +28,12 @@ import { Ctx, DYN_HEIGHT, DYN_WIDTH, - DisplaySubgraph, + DisplayFsg, Edges, GraphTheme, Height, MarkDynOp, - MaxSubgraphs, + MaxFsgs, Nodes, TranslateX, TranslateY, @@ -67,7 +67,7 @@ const render = () => { const ex = (Width - TranslateX) / Zoom const ey = (Height - TranslateY) / Zoom - if (DisplaySubgraph && MaxSubgraphs !== null) renderMaxSubgraphs() + if (DisplayFsg && MaxFsgs !== null) renderMaxFsgs() renderNodes(Nodes, sx, sy, ex, ey) // When the zoom is too small, the edge is hard to see, so it is hidden @@ -77,8 +77,8 @@ const render = () => { renderEdges(Edges, sx, sy, ex, ey) } -const renderSubgraph = (subgraph: string[]) => { - const path = generatePath(subgraph) +const renderFsg = (fsg: string[]) => { + const path = generatePath(fsg) Ctx.save() Ctx.lineWidth = 2 Ctx.strokeStyle = GraphTheme === "dark" ? "#8D98D4" : "#6440B4" @@ -96,7 +96,7 @@ const renderSubgraph = (subgraph: string[]) => { Ctx.restore() } -const renderMaxSubgraphs = () => MaxSubgraphs.forEach(renderSubgraph) +const renderMaxFsgs = () => MaxFsgs.forEach(renderFsg) const MARGIN = 3 const PADDING_X = 3 diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/worker.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/worker.ts index 12f2e4c4fab42d505205c5eeeed6136ab2e08afd..d36d4d4df51ee4d71fb240db5f75c5d5b006fd0f 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/worker.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/src-worker/worker.ts @@ -38,8 +38,8 @@ export let Edges: RenderEdge[] | null = null! export let VisibleNodes: RenderNode[] | null = null! export let VisibleEdges: RenderEdge[] | null = null! export let HighlightTarget: RenderNode | RenderEdge | null = null! -export let MaxSubgraphs: string[][] = null! -export let DisplaySubgraph = false +export let MaxFsgs: string[][] = null! +export let DisplayFsg = false export let MarkDynOp = false export let Width: number export let Height: number @@ -117,8 +117,8 @@ const handleInit = (payload: InitPayload) => { const handleNewProj = (payload: NewProjectPayload) => { applyLayoutResul(payload.data) MarkDynOp = false - DisplaySubgraph = false - MaxSubgraphs = null + DisplayFsg = false + MaxFsgs = null HighlightTarget = null HighlightCtx.clearRect(0, 0, Width, Height) @@ -140,7 +140,7 @@ const handleResize = (payload: ResizePayload) => { HighlightCanvas.width = payload.width * DPR HighlightCanvas.height = payload.height * DPR HighlightCtx = HighlightCanvas.getContext("2d") - DisplaySubgraph = payload.subgraphVis + DisplayFsg = payload.fsgVis rerender() } @@ -255,15 +255,15 @@ const handleHighlight = (payload: HighlightPayload) => { highlight() } -const handleInitSubgraphs = (payload: InitSubgraphsPayload) => { - MaxSubgraphs = payload.subgraphs - DisplaySubgraph = true +const handleInitFsg = (payload: InitFsgsPayload) => { + MaxFsgs = payload.fsgs + DisplayFsg = true rerender() } -const handleToggleSubgraph = (payload: ToggleSubgraphsPayload) => { - DisplaySubgraph = payload.display +const handleToggleFsg = (payload: ToggleFsgsPayload) => { + DisplayFsg = payload.display rerender() } @@ -284,8 +284,8 @@ const handleDestroy = () => { VisibleNodes = null VisibleEdges = null MarkDynOp = false - DisplaySubgraph = false - MaxSubgraphs = null + DisplayFsg = false + MaxFsgs = null } const Handlers: PayloadHandlers = { @@ -298,8 +298,8 @@ const Handlers: PayloadHandlers = { "search": handleSearch, "hit-test": handleHitTest, "highlight": handleHighlight, - "init-subgraphs": handleInitSubgraphs, - "toggle-subgraphs": handleToggleSubgraph, + "init-fsgs": handleInitFsg, + "toggle-fsgs": handleToggleFsg, "toggle-dyn-op": handleToggleDynOp, "clear-highlight": handleClearHighlight, "destroy": handleDestroy diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/stores/app-context.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/stores/app-context.ts index 465cba515db0fded40854d4506ad7d8dd47a2e65..48115a43e19648293e4019956bdd9b51a1403652 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/stores/app-context.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/stores/app-context.ts @@ -1,9 +1,9 @@ import { atom } from "jotai" export const gridVisibleAtom = atom(true) -export const subgraphsVisibleAtom = atom(false) -export const subgraphPanelVisibleAtom = atom(false) -export const subgraphsAtom = atom(null!) +export const fsgVisibleAtom = atom(false) +export const fsgPanelVisibleAtom = atom(false) +export const fsgAtom = atom(null!) export const dynamicVisibleAtom = atom(false) export const dynamicNodesAtom = atom(null) export const modelPathAtom = atom(null) diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/ipc.d.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/ipc.d.ts index 44e3a9733fe88ebfbbaf26cd781ea5cd0064dbc1..ca25a622f92ed959e21e07970f9d1450db3befc7 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/ipc.d.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/ipc.d.ts @@ -17,7 +17,7 @@ type ResizePayload = { type: "resize" width: number height: number - subgraphVis: boolean + fsgVis: boolean } type TransformPayload = { @@ -53,13 +53,13 @@ type HighlightPayload = { target: RenderNode | RenderEdge } -type InitSubgraphsPayload = { - type: "init-subgraphs" - subgraphs: string[][] +type InitFsgsPayload = { + type: "init-fsgs" + fsgs: string[][] } -type ToggleSubgraphsPayload = { - type: "toggle-subgraphs" +type ToggleFsgsPayload = { + type: "toggle-fsgs" display: boolean } @@ -86,8 +86,8 @@ type Payload = | SearchPayload | HitTestPayload | HighlightPayload - | InitSubgraphsPayload - | ToggleSubgraphsPayload + | InitFsgsPayload + | ToggleFsgsPayload | ToggleDynOpPayload | ClearHighlightPayload | DestroyPayload diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/model.d.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/model.d.ts index e02731a200026ab103970e0a1c35a8e4566e2c27..4ab092b53bdfa67eb19c683393034bbace2625fb 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/model.d.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/types/model.d.ts @@ -97,20 +97,20 @@ type NodeId = { nid: string } -type SubgraphInstance = { +type FsgInstance = { node_num: number node_ids: NodeId[] } -type SubgraphRet = { +type FsgRet = { optype_struct: string total: number - instances: SubgraphInstance[] + instances: FsgInstance[] } -type SubgraphTableRow = { +type FsgTableRow = { key: string - subgraph: string + fsg: string count: number nodeCount: number meanDuration: number diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/worker-apis.ts b/plugins/mindstudio-insight-plugins/ModelVis/app/src/worker-apis.ts index 53055c4f88df47adeaba993f064f8c6b9820f752..879eb51b6c34343067862f1bcaadaa50a3059ce8 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/worker-apis.ts +++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/worker-apis.ts @@ -49,7 +49,7 @@ export const workerResize = (payload: MainThreadResizePayload) => { type: "resize", width: payload.width, height: payload.height, - subgraphVis: payload.subgraphVis + fsgVis: payload.fsgVis } ) } @@ -91,11 +91,11 @@ export const workerHighlight = (target: RenderNode | RenderEdge) => export const workerToggleDynOp = (mark: boolean) => WebWorker.postMessage({type: "toggle-dyn-op", mark}) -export const workerInitSubgraphs = (subgraphs: string[][]) => - WebWorker.postMessage({type: "init-subgraphs", subgraphs}) +export const workerInitFsgs = (fsgs: string[][]) => + WebWorker.postMessage({type: "init-fsgs", fsgs}) -export const workerToggleSubgraphs = (display: boolean) => - WebWorker.postMessage({type: "toggle-subgraphs", display}) +export const workerToggleFsgs = (display: boolean) => + WebWorker.postMessage({type: "toggle-fsgs", display}) export const workerCleanUp = () => WebWorker.postMessage({type: "destroy"}) diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/.gitignore b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/.gitignore similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/.gitignore rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/.gitignore diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/Cargo.toml b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/Cargo.toml similarity index 93% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/Cargo.toml rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/Cargo.toml index 853af43ba0d639f069d53f28eff060feff0e0f0e..aa2d62ccabbd84884ab3cca421efe01310bcce07 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/Cargo.toml +++ b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "subgraph" +name = "fsg" version = "0.1.0" edition = "2024" diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/README.md b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/README.md similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/README.md rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/README.md diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/gspan.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/gspan.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/gspan.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/gspan.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/misc.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/misc.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/misc.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/misc.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/mod.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/mod.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/mod.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/mod.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/dfs.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/dfs.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/dfs.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/dfs.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/dfs_code.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/dfs_code.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/dfs_code.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/dfs_code.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/edge.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/edge.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/edge.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/edge.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/graph.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/graph.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/graph.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/graph.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/history.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/history.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/history.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/history.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/mod.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/mod.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/mod.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/mod.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/prev_dfs.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/prev_dfs.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/prev_dfs.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/prev_dfs.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/projected.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/projected.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/projected.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/projected.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/vertex.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/vertex.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/models/vertex.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/models/vertex.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/result.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/result.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/gspan/result.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/gspan/result.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/mod.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/mod.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/mod.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/mod.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/model_graph.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/model_graph.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/model_graph.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/model_graph.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/node.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/node.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/node.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/node.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/output.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/output.rs similarity index 100% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/io/output.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/io/output.rs diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/lib.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/lib.rs similarity index 98% rename from plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/lib.rs rename to plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/lib.rs index 3085e09b4a4fa8d70958bae881fe6764fb1a9ec7..0d23f33e601a221d553553f2239da4d47cc0c224 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/rust/subgraph/src/lib.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/rust/fsg/src/lib.rs @@ -40,7 +40,7 @@ impl From for ModelNode { } } -pub fn subgraphs_bin( +pub fn fsgs_bin( path: &str, min_inner_support: usize, min_vertices: usize, diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/model.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/model.rs index c195b0a8e63c2dcb10bcb1020a05d959ece12976..6170f1777a4cda5a26b906ec311616adcb85f256 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/model.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/model.rs @@ -25,7 +25,7 @@ pub struct Model { pub nodes: HashMap, pub edges: Vec<(String, String)>, pub parameters: HashMap, - pub subgraphes: HashMap, + pub subgraphs: HashMap, pub nesting_map: HashMap, } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/pbtxt/onnx.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/pbtxt/onnx.rs index d0b53a15324878bbdc0c6ca95e113360e84adae5..58dd52bd85f6dacc812f8c97d564692ccc494482 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/pbtxt/onnx.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/pbtxt/onnx.rs @@ -56,8 +56,8 @@ impl From for Model { nodes: ctx.nodes.into_iter().map(|(k, v)| (String::from(k), v)).collect(), edges: ctx.edges.into_iter().map(|(s, t)| (String::from(s), String::from(t))).collect(), parameters: HashMap::new(), - subgraphes: ctx - .subgraphes + subgraphs: ctx + .subgraphs .into_iter() .map(|k| (String::from(k), Subgraph { name: String::from(k) })) .collect(), @@ -92,7 +92,7 @@ struct GraphParsingContext<'a> { nodes: HashMap<&'a str, Node>, edges: Vec<(&'a str, &'a str)>, tensors: HashMap<&'a str, Tensor>, - subgraphes: Vec<&'a str>, + subgraphs: Vec<&'a str>, input_count_map: HashMap<&'a str, i32>, output_count_map: HashMap<&'a str, i32>, nesting_map: HashMap<&'a str, &'a str>, @@ -105,7 +105,7 @@ impl<'a> GraphParsingContext<'a> { nodes: HashMap::new(), edges: Vec::new(), tensors: HashMap::new(), - subgraphes: vec![], + subgraphs: vec![], input_count_map: HashMap::new(), output_count_map: HashMap::new(), nesting_map: HashMap::new(), @@ -122,7 +122,7 @@ impl<'a> GraphParsingContext<'a> { match attr.type_.enum_value_or_default() { GRAPH => if let Some(graph) = attr.g.as_ref() { - self.subgraphes.push(&node.name); + self.subgraphs.push(&node.name); self.preprocess(graph) }, GRAPHS => attr.graphs.iter().for_each(|g| self.preprocess(g)), diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/geir.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/geir.rs index dade16f475d78f948c7823957d7c354590a46f43..09ff295de2ab1d59dc6d4705136742ec3a77c973 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/geir.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/geir.rs @@ -62,7 +62,7 @@ impl From for Model { nodes, edges: vec![], parameters, - subgraphes: HashMap::new(), + subgraphs: HashMap::new(), nesting_map: HashMap::new(), } } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/mindir.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/mindir.rs index ec62f6efe54625d1a089601cf8da311caa9db3ac..1ec0ce3a5b6f9c0db34071def3421d78c49b1b29 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/mindir.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/mindir.rs @@ -50,7 +50,7 @@ impl From for Model { nodes: ctx.nodes, edges: ctx.edges, parameters: ctx.parameters, - subgraphes: HashMap::new(), + subgraphs: HashMap::new(), nesting_map: HashMap::new(), } } diff --git a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/onnx.rs b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/onnx.rs index faaedcc4636e79379c68c8a7c857051888a22c6a..15995f734ae5ddc9e8af2063cc192670ff168a70 100644 --- a/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/onnx.rs +++ b/plugins/mindstudio-insight-plugins/ModelVis/rust/parser/src/processors/onnx.rs @@ -134,7 +134,7 @@ impl From for Model { nodes, edges, parameters, - subgraphes: HashMap::new(), + subgraphs: HashMap::new(), nesting_map: HashMap::new(), } }