Skip to content

AMDGPU 1.0

Choose a tag to compare

@Jacobinwwey Jacobinwwey released this 13 Jan 15:05
· 160 commits to main since this release

Core Update

User-Defined Knowledge Base (v1.0.0)
Managing your knowledge base source is now easier than ever.

First Run Setup: On first launch, you will be prompted to select your Knowledge_Base folder.
Persistent Config: Your selection is saved in kb_config.json and remembered across restarts.
Change Anytime: Use the File > Change Knowledge Base... menu option to switch folders instantly.
Reset: Use File > Reset to Default to return to the bundled demo notes.

Supported AMDGPU Architectures
NoteConnection utilizes gpu.js for WebGL-based acceleration and plans to support local AI inference via ROCm.

RDNA 3 (Recommended): Radeon RX 7000 Series (e.g., RX 7900 XT/XTX).
Status: Best performance for both WebGL and Compute.
RDNA 2: Radeon RX 6000 Series.
Status: Stable and mature support.

Drivers: Ensure you have the latest AMD Adrenalin Edition drivers installed.
Node.js: The project uses gpu.js which relies on headless-gl for Node.js context.
On Windows, this usually works out of the box with standard build tools (windows-build-tools).
If you encounter gl errors, ensure Python and C++ compilers are available.

CLI Usage (v0.9.71)
You can load a knowledge base and build the graph directly from the command line without using the UI. This is useful for automated builds or headless environments.

v1.0.0 - Production Release (2026-01-14)

  • Stability & Mini Build Reliability: Major fixes for the "Mini" build mode.
    • First-Run Fix: Resolved critical crashes when no data is present on first launch (Added typeof safety checks).
    • Artifact Cleanup: Build process now automatically cleans up previous data artifacts to ensure minimum installer size (~70MB).
    • Worker Path Fix: Corrected path resolution for backend workers in production builds (Resolved double-dist folder issue).
  • Absolute Offline Strategy: All external CDN dependencies migrated to local assets. The system is now 100% functional without an internet connection.
  • Focus Mode Refinement:
    • Visual Restoration: Fixed a bug where nodes retained Focus Mode sizes after exit. Now perfectly restores pre-focus radius and font-size.
    • Stability: Fixed D3 sibling selection (getAttribute) errors during Focus entry.
  • Physics & Spacing Overhaul:
    • New Defaults: Standard link distance increased to 250px and collision radius to 25px.
    • Expanded Customization: Slider ranges increased significantly (up to 600px distance / 100px collision).
  • Quality of Life: Knowledge Base "All Folders" is now automatically selected in Electron mode for a smoother start.
  • Performance & Focus Overhaul:
    • O(1) Neighbor Lookup: Adjacency caching reduces transition time from O(N*M) to O(1).
    • Batched Rendering: UI updates synchronized via requestAnimationFrame.
  • User-Defined Knowledge Base: New First-Run Setup, persistent configuration, and menu controls.
  • Security & CSP: Enhanced CSP for extreme offline security and removed deprecated flags.

v0.9.83 (2026-01-13)

  • GPU Worker Integration: Fully enabled GPU acceleration in the frontend Simulation Worker. The worker now dynamically imports gpu-browser.min.js and layout_gpu.js and respects the gpuRendering setting.
  • Performance Fix: Resolved an issue where "GPU Optimised Rendering" was ignored during the initialization phase, forcing CPU calculation. Large graphs now load significantly faster.
  • Robustness: Fixed a critical bug in updateParams where existing GPU force instances were accidentally overwritten by CPU forces when changing physics settings.

v0.9.82 (2026-01-12)

  • Worker Sync & Stability: Introduced the Worker Handshake Protocol (isLayoutSwitching) to eliminate layout "bounce" and race conditions during transitions.
  • Focus Mode Interaction: Decoupled manual dragging from physics in Focus Mode, ensuring nodes stay exactly where positioned without simulation interference.
  • Layout Persistence: Added a 50% restoration safety threshold to the layout cache; automatically falls back to simulation relaxation if data is inconsistent.
  • Analysis Stability: Optimized layout logic to prevent redundant resets during panel resizing while "Freeze Layout" is active.

v0.9.74 (2026-01-12)

  • GPU Link Force: Implemented high-performance GPU-accelerated spring forces using gpu.js. Supports "Gather" algorithm for efficient neighbor processing.
  • Physics Robustness: Introduced velocity clamping (MAX_VELOCITY=100) and NaN/Infinity safety guards in GPU kernels to prevent node "explosions" and disappearing nodes.
  • Layout Switching Fix: Implemented robust state preservation (layoutCache) for Force and DAG layouts, ensuring node positions are saved and restored without "teleportation". Fixed a critical crash in updateLayout and added Focus Mode support for GPU forces.
  • GPU Resource Management: Refactored layout_gpu.js to use a Singleton pattern for the GPU context, preventing WebGL context leaks (limit 16) when toggling settings.

v0.9.71 (2026-01-10)

  • Backend Parallel Layout: Accelerated front-end loading by pre-calculating node positions on the backend using worker threads or GPU.
  • GPU Optimised Rendering: In the backend layout, added support for AMDGPU acceleration.
  • Static Mode: Implemented strict simulation freezing for massive graphs (>5000 nodes) to save resources.
  • CLI Support: Added full CLI argument support for automated building and loading.
  • Extreme Scale Optimization: Disabled edge rendering entirely for graphs with >10,000 nodes to prevent browser crashes.

v0.9.70 - Frontend Initialization Fix (2026-01-09)

  • Critical Fix: Fixed a race condition where the rendering loop started before UI controls were fully initialized, causing blank screens and unresponsive buttons on large datasets.

v0.9.69 - Frontend Crash Fix (2026-01-09)

  • Critical Fix: Resolved a "Maximum call stack size exceeded" crash in the frontend when loading graphs with over 100,000 edges. This fixes the "Nodes: 0" issue for massive datasets.

v0.9.67 - Compact Mode & Canvas Fix (2026-01-08)

  • Compact Mode: Added a new mode that hides edges by default to improve performance for massive graphs (>5k nodes). This mode is automatically enabled for large datasets but can be toggled in settings.
  • Canvas Fix: Resolved an issue where large graphs would display a blank screen on load by forcing an initial canvas render frame.
  • Optimization: Rendering loop now completely skips edge iteration in Compact Mode, significantly reducing CPU usage during idle or pan/zoom.

v0.9.61 - Frontend Memory Optimization (2026-01-07)

  • Smart Rendering: Automatically switches to Canvas mode by default when the graph contains more than 3000 nodes.
  • Performance: Reduces browser memory footprint and improves frame rates for large datasets on initial load.

v0.9.60 - Parallel Graph Metrics (2026-01-07)

  • Performance: Parallelized the "Graph Metrics" calculation (Betweenness Centrality) using worker threads.
  • Scalability: Distributed heavy Brandes Algorithm computations across multiple CPU cores, ensuring faster graph construction for large datasets.

2026-01-07 v0.9.59 - Vector Space Memory Fix (Sparse Matrix)

Goal: Resolve the "Heap out of memory" crash on Windows 10/11 (128GB RAM) when processing 13k+ files by replacing the dense TF-IDF matrix with a Sparse Vector implementation.

  • Memory Optimization
    • Sparse Vectors: Refactored VectorSpace to use Uint32Array (indices) and Float32Array (values) instead of standard Javascript Arrays.
    • Efficiency: Reduced memory footprint for 13k files from ~10GB+ (dense) to <500MB (sparse).
    • Algorithm: Optimized Cosine Similarity calculation to use sparse dot product ($O(min(N, M))$).
    • Config: Increased default Node.js heap limit to 12GB (--max-old-space-size=12288) in package.json to utilize available system RAM.

2026-01-07 v0.9.58 - Hybrid Inference Resource Reuse (Optimization)

  • Memory Optimization: Implemented resource reuse logic for "Statistical Matrix" and "Vector Space" in GraphBuilder.
  • Efficiency: Prevents redundant recalculation of heavy data structures during Hybrid Inference, eliminating memory spikes and resolving OOM crashes on large datasets.
  • Cleanup: Added strict memory cleanup steps after inference tasks complete.

v0.9.57 - Worker Memory Optimization (2026-01-07)

  • Stability Fix: Resolved "Heap out of memory" crashes when processing large datasets (>13k files) by optimizing the data transfer strategy for Worker Threads.
  • Efficiency: Workers now receive file paths and read content on-demand, eliminating the memory overhead of cloning large file content strings across threads.

v0.9.56 - Hybrid Inference Memory Optimization (2026-01-05)

  • Memory Analysis: Added granular performance logging to the Hybrid Inference engine, tracking heap usage every 1000 nodes to identify memory spikes on Windows.
  • Optimization: Implemented aggressive memory cleanup (clearing matrices and nullifying vector space) immediately after inference completion to prevent Heap OOM.

v0.9.55 - Heap OOM Fix & Iterative DFS (2026-01-05)

  • Stability Fix: Resolved "Heap out of memory" crashes on Windows 10/11 by implementing explicit memory clearing for file content before the algorithmic phase.
  • Robustness: Refactored CycleDetector to use an Iterative DFS (stack-based) approach, eliminating stack overflow risks on deep graphs.
  • Observability: Split performance logging for "Algorithmic Core" into distinct "Cycle Detection" and "Topological Sort" phases for precise debugging.

v0.9.54 - Welcome Experience (2026-01-05)

  • Onboarding: Added a "Welcome" modal that appears when the graph is empty, guiding new users to select a source and load data.
  • UX: Highlights the "Source Select" controls during the welcome state.

核心更新

用户定义知识库 (User-Defined Knowledge Base - v1.0.0)
管理知识库源现在变得更加简单。

首次运行设置: 首次启动时,系统会提示您选择 Knowledge_Base 文件夹。
持久化配置: 您的选择保存在 kb_config.json 中,并在重启后自动加载。
随时更改: 使用 文件 > 更改知识库... 菜单选项即时切换文件夹。
重置: 使用 文件 > 重置为默认 返回由捆绑的演示笔记。

支持的 AMDGPU 架构
NoteConnection 利用 gpu.js 进行基于 WebGL 的加速,并计划通过 ROCm 支持本地 AI 推断。

RDNA 3 (推荐): Radeon RX 7000 系列 (例如 RX 7900 XT/XTX)。
状态: WebGL 和计算性能最佳。
RDNA 2: Radeon RX 6000 系列。
状态: 稳定且成熟的支持。

CLI 命令行使用 (v0.9.71)
您可以直接从命令行加载知识库并构建图谱,而无需使用 UI。这对于自动构建或无头环境非常有用。

v1.0.0 - 正式发布 (Production Release) (2026-01-14)

  • 稳定性与精简版可靠性: 对“精简模式”进行了重大修复。
    • 首次启动修复: 解决了应用在无数据状态下首次启动时的崩溃问题(增加了 typeof 安全检查)。
    • 产物自动清理: 构建过程自动清理旧的数据残留,确保安装包体积最小化 (~70MB)。
    • Worker 路径修复: 修正了生产构建中后端工作线程的双层 dist 路径解析错误。
  • 完全离线化策略: 所有外部依赖均已迁移为本地资源。系统现在可在完全离线环境下运行。
  • 专注模式细化:
    • 视觉状态恢复: 修复了退出专注模式后节点大小错误的 Bug。现在能完美恢复原始半径和字体大小。
    • 交互稳定性: 修复了进入专注模式时的 D3 事件关联错误。
  • 物理与间距优化:
    • 全新默认值: 默认链接距离增加至 250px,碰撞半径增加至 25px
    • 扩展自定义范围: 滑动条范围增加至 600px 距离 / 100px 碰撞。
  • 性能与专注模式重构:
    • O(1) 邻居查找: 在客户端实现邻接缓存,将切换耗时从 $O(N \times M)$ 降低至 $O(1)$
    • 批量渲染: 使用 requestAnimationFrame 同步渲染,确保平滑过渡。
  • 用户定义知识库: 全新的知识库路径管理、持久化配置及菜单控制。
  • 安全与 CSP: 增强了 CSP 以支持极端的离线安全,并移除了已弃用的 Electron 标志。

v0.9.83 (2026-01-13)

  • GPU 工作线程集成: 全面启用了前端模拟工作线程 (Simulation Worker) 中的 GPU 加速。工作线程现在可以动态导入 gpu-browser.min.jslayout_gpu.js,并遵循 gpuRendering 设置。
  • 性能修复: 解决了在初始化阶段忽略“GPU 优化渲染”设置、导致强制使用 CPU 计算的问题。现在大型图谱的加载速度显著提升。
  • 稳健性: 修复了 updateParams 中的一个关键错误,即在更改物理设置时,现有的 GPU 力实例会被意外地替换为 CPU 力。

v0.9.74 (2026-01-12)

  • GPU 链接力 (Link Force): 使用 gpu.js 实现了高性能的 GPU 加速弹簧力。支持 "Gather" 算法,用于高效的邻居处理。
  • 物理稳健性: 在 GPU 核函数中引入了速度钳位 (MAX_VELOCITY=100) 和 NaN/无穷大安全防护,防止节点“爆炸”和消失。
  • 布局切换修复: 实现了 Force 和 DAG 布局的稳健状态保存 (layoutCache),确保节点位置在切换时被保存和恢复,消除了“瞬移”现象。修复了 updateLayout 中的关键崩溃,并增加了专注于模式对 GPU 力的支持。
  • GPU 资源管理: 重构 layout_gpu.js 使用单例模式管理 GPU 上下文,防止在切换设置时发生 WebGL 上下文泄漏 (限制 16 个)。

v0.9.71 (2026-01-10)

  • 后端并行布局: 通过使用 Worker 线程或 GPU 在后端预计算节点位置,加速前端加载。
  • GPU 优化渲染: 在后端布局中添加了对 AMDGPU 加速的支持。
  • 静态模式: 为海量图谱 (>5000 节点) 实现了严格的模拟冻结以节省资源。
  • CLI 支持: 添加了完整的 CLI 参数支持,用于自动化构建和加载。
  • 极端规模优化: 对于超过 10,000 个节点的图谱,完全禁用了边渲染,以防止浏览器崩溃。

v0.9.67 - 紧凑模式与 Canvas 修复 (2026-01-08)

  • 紧凑模式: 添加了一种新模式,默认隐藏边以提高海量图谱(>5k 节点)的性能。此模式在大数据集上自动启用,但可以在设置中切换。
  • Canvas 修复: 解决了大图在加载时因强制初始 Canvas 渲染帧而显示白屏的问题。
  • 优化: 渲染循环现在在紧凑模式下完全跳过边迭代,显著降低了空闲或平移/缩放期间的 CPU 使用率。

v0.9.61 - 前端内存优化 (Frontend Memory Optimization) (2026-01-07)

  • 智能渲染: 当图谱包含超过 3000 个节点时,默认自动切换到 Canvas 模式。
  • 性能: 降低浏览器内存占用,并提高大数据集初始加载时的帧率。

v0.9.60 - 并行图指标计算 (Parallel Graph Metrics) (2026-01-07)

  • 性能: 使用 Worker 线程并行化了“图指标”计算(介数中心性)。
  • 可扩展性: 将繁重的 Brandes 算法计算分发到多个 CPU 核心,确保大数据集的图构建更快。

v0.9.58 - 混合推断资源重用 (优化) (Hybrid Inference Resource Reuse) (2026-01-07)

  • 内存优化: 在 GraphBuilder 中为“统计矩阵”和“向量空间”实现了资源重用逻辑。
  • 效率: 防止在混合推断期间重复计算繁重的数据结构,消除了内存峰值并解决了大数据集上的 OOM 崩溃问题。
  • 清理: 在推断任务完成后添加了严格的内存清理步骤。

v0.9.82 - 稳健性增强与交互优化 (2026-01-12)

  • 握手协议: 引入了 Worker 握手协议 (isLayoutSwitching),有效解决了布局切换竞态,防止延迟消息导致 UI 跳变。
  • 专注模式隔离: 为专注模式实现了完全的手动坐标管理,拖动节点不再受物理引擎干扰,确保定位精准。
  • 布局缓存安全: 增加了 50% 的布局恢复安全阈值,缓存异常时自动执行物理松弛,防止图谱崩溃。
  • 分析面板稳定: 优化了面板缩放时的渲染逻辑,在“冻结布局”激活时严格禁止不必要的物理重启。

v0.9.57 - Worker 内存优化 (Worker Memory Optimization) (2026-01-07)

  • 稳定性修复: 通过优化 Worker 线程的数据传输策略,解决了处理大数据集 (>13k 文件) 时的“堆内存溢出”崩溃问题。
  • 效率: Worker 现在接收文件路径并按需读取内容,消除了跨线程克隆大型文件内容字符串的内存开销。

v0.9.56 - 混合推断内存优化 (Hybrid Inference Memory Optimization) (2026-01-05)

  • 内存分析: 为混合推断引擎添加了细粒度的性能日志,每 1000 个节点跟踪一次堆内存使用情况,以识别 Windows 上的内存峰值。
  • 优化: 在推断完成后立即实施激进的内存清理(清除矩阵和置空向量空间),以防止堆内存溢出。

v0.9.55 - 堆内存溢出修复与迭代 DFS (Heap OOM Fix & Iterative DFS) (2026-01-05)

  • 稳定性修复: 通过在算法阶段之前显式清除文件内容内存,解决了 Windows 10/11 上的“堆内存溢出”崩溃问题。
  • 稳健性: 重构 CycleDetector 使用 迭代 DFS(基于栈)方法,消除了深度图上的堆栈溢出风险。
  • 可观测性: 将“算法核心”的性能日志拆分为“循环检测”和“拓扑排序”两个独立阶段,以便进行精确调试。

v0.9.54 - 欢迎体验 (Welcome Experience) (2026-01-05)

  • 引导 (Onboarding): 添加了一个“欢迎”模态框,当图谱为空时出现,引导新用户选择数据源并加载数据。
  • 用户体验 (UX): 在欢迎状态下高亮显示“源选择”控件。