Skip to content

modkit pileup does not use all cores on Apple Silicon and prefers E-cores #598

@SuhasSrinivasan

Description

@SuhasSrinivasan

Hi Arthur,

Thanks for developing modkit!

modkit v0.5.0
macOS v26.3.1 (a)
Mac Studio: M2 Ultra, 24 core (8E+16P) CPU, 76 core GPU, 192 GB Unified Memory, 8TB storage

I have been observing core loading for about 5 minutes when running modkit pileup and only for very short periods (tens of seconds) all cores are used, all other times mostly E-cores are used.
--threads 24

Please see screenshot.

Image

This likely depends on how Rust handles multi-threading and macOS scheduling, but was wondering if there are any ways to improve this?

For example, when using PyTorch, it automatically detects P-cores and only runs threads on them because E-cores cause bottlenecks and add negligible compute capability.

============================================================
System Information
============================================================
PyTorch version: 2.10.0
Device: cpu
Processor: arm
Platform: macOS-26.3.1-arm64-arm-64bit
CPU threads (torch): 16
CPU cores (logical): 24

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions