SiliconScope  by kennss

Apple Silicon system monitor with deep hardware insights

Created 1 month ago
681 stars

Top 49.0% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> SiliconScope addresses the need for detailed, Apple Silicon-specific system monitoring, particularly for AI accelerators (ANE, Media Engine) and memory bandwidth, which are underserved by standard tools. It offers a native SwiftUI dashboard and menu-bar suite for engineers and power users, providing deep performance insights and bottleneck analysis without requiring root privileges.

How It Works

The project employs a sudoless approach by dynamically linking against private, undocumented macOS frameworks like IOReport and SMC. This allows access to low-level metrics such as per-domain power, memory bandwidth, and per-unit temperatures. The data is processed and presented through a native SwiftUI GUI and a configurable menu-bar suite, offering a user-friendly alternative to terminal-based monitors.

Quick Start & Requirements

  • Install: Download the latest DMG from GitHub releases and drag SiliconScope.app to Applications.
  • Prerequisites: macOS 14+ on Apple Silicon. Xcode toolchain required for building from source.
  • Build/Run: Use xcrun swift run SiliconScope for the GUI or xcrun swift run -q sscope-cli for CLI verification.
  • Docs: Primary documentation is within the README; specific details on IOReport channels are linked internally.

Highlighted Details

  • AI Workload Classification: Identifies bottlenecks (bandwidth-bound, compute-bound, etc.) with a "% of ceiling" bandwidth gauge.
  • Core Performance: Differentiates E-core/P-core utilization and reports real DVFS frequencies.
  • Accelerator Tracking: Monitors ANE power and Media Engine codec bandwidth.
  • Memory Bandwidth: Displays CPU/GPU/Media/total GB/s, a key metric for LLM performance.
  • Per-Unit Temperatures: Curated SMC keys (M1-M5) and HID fallback provide E-Core, P-Core, GPU, and Memory sensor data.
  • Menu-Bar Suite: Pin individual metrics (CPU, GPU, Network, etc.) to the menu bar with live glyphs and dropdowns.
  • Sudoless Operation: All monitoring functions operate without requiring root privileges.

Maintenance & Community

The project actively encourages community contributions, particularly for verifying per-chip temperature sensor mappings on M2-M5 hardware via the sscope-cli tool. The GitHub "Discussions" section serves as a forum for crowd-sourced data and verification.

Licensing & Compatibility

Licensed under the MIT License, permitting broad commercial use and integration into closed-source projects. However, due to its reliance on private macOS APIs, SiliconScope cannot be distributed through the Mac App Store.

Limitations & Caveats

Distribution is restricted to direct download due to the use of private, un-entitled APIs. ANE "usage" is an estimated value derived from power consumption, as direct occupancy metrics are not exposed by Apple. Verification of per-chip temperature sensor mappings for M2-M5 processors is ongoing and relies on community input.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
8
Issues (30d)
17
Star History
690 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.