Expand description
§Silicera
Experimental research library for hardware-native program specialization on modern AMD Zen microarchitectures.
Silicera treats the physical machine — topology, cache geometry, and measured behavior — as an input to specialization. It is not affiliated with, endorsed by, or certified by Advanced Micro Devices, Inc.
§This release
- Discovery, tournaments, HNEP v2, runtime fallback for AMD Zen3 / Zen4 / Zen5
- Compiler feedback export (SCF), host-ISA harness arms, alignment/placement research
- Architecture compare scaffolding, profile lifecycle health, and opt-in fleet-share schema
§Non-goals
- Kernel drivers, BIOS/firmware modification, or overclocking
- LLM-in-the-loop optimization
- Fabricated speedups or vendor partnership claims
- Automatic cloud upload of profiles
§Crate map
| Crate | Role |
|---|---|
silicera | Discovery, measurement, HNEP, specialization (this crate) |
silicera-runtime | Profile load + cheap dispatch (no lab dependency) |
silicera-lab | Microbenchmarks, tournaments, terminal lab UI |
silicera-cli | silicera binary |
Re-exports§
pub use arch_compare::compare_architectures;pub use arch_compare::compare_mock_zen4_zen5;pub use arch_compare::parse_microarch_tag;pub use arch_compare::side_from_info;pub use arch_compare::ArchCompareReport;pub use arch_compare::ArchSide;pub use archive::entry_from_eval_json;pub use archive::ArchiveEntry;pub use archive::ResultsArchive;pub use archive::ARCHIVE_FORMAT;pub use archive::ARCHIVE_VERSION;pub use brand::brand_json;pub use brand::BrandInfo;pub use brand::AFFILIATION_DISCLAIMER;pub use brand::BRAND_LINE;pub use brand::FUNDING_URL;pub use brand::GITHUB_SPONSOR;pub use brand::HOMEPAGE;pub use brand::LICENSE;pub use brand::LOGO_RELATIVE;pub use brand::NAME;pub use brand::PHASE;pub use brand::RELEASE_LINE;pub use brand::REPOSITORY;pub use brand::TAGLINE;pub use brand::THANKS_DEV;pub use brand::VERSION;pub use compare::compare_profiles;pub use compare::compare_with_placeholder;pub use compare::CompareReport;pub use compare::DivergenceKind;pub use compare::MachineBPlaceholder;pub use compare::MeasurementEcho;pub use compare::SanitizedSplitExport;pub use compare::SplitVerdict;pub use compare::StrategyVector;pub use compare::SILICON_SPLIT_PROTOCOL;pub use compare::SILICON_SPLIT_PROTOCOL_VERSION;pub use counters::probe_counters;pub use counters::CounterAvailability;pub use counters::CounterProbe;pub use error::Result;pub use error::SiliceraError;pub use feedback::CompilerFeedback;pub use feedback::ScfSizeClass;pub use feedback::ScfWorkload;pub use feedback::SCF_FORMAT;pub use feedback::SCF_VERSION;pub use fingerprint::Fingerprint;pub use fingerprint::FingerprintComponents;pub use fleet::FLEET_FORMAT;pub use fleet::FLEET_VERSION;pub use hardware::detect_hardware;pub use hardware::EnvironmentSnapshot;pub use hardware::HardwareBackend;pub use hardware::HardwareInfo;pub use hardware::MockHardware;pub use hardware::SupportStatus;pub use hnep::Confidence;pub use hnep::HnepHeader;pub use hnep::HnepProfile;pub use hnep::IntegrityDigest;pub use hnep::SizeClassEntry;pub use hnep::WorkloadEntry;pub use hnep::HNEP_FORMAT;pub use hnep::HNEP_VERSION;pub use hnep::HNEP_VERSION_MAX_SUPPORTED;pub use hnep::HNEP_VERSION_MIN_SUPPORTED;pub use knowledge::ArchitecturePack;pub use knowledge::KnowledgePack;pub use knowledge::Microarch;pub use lifecycle::assess_profile_staleness;pub use lifecycle::plan_profile_retrain;pub use lifecycle::HealthGrade;pub use lifecycle::ProfileHealth;pub use measure::MeasurementConfig;pub use measure::MeasurementEngine;pub use measure::MeasurementSummary;pub use measure::Stability;pub use remarks::Remark;pub use remarks::RemarkArg;pub use remarks::RemarksBundle;pub use remarks::REMARKS_FORMAT;pub use remarks::REMARKS_VERSION;pub use repro::ReproPack;pub use repro::REPRO_FORMAT;pub use repro::REPRO_VERSION;pub use retrain::parse_only_filter;pub use retrain::plan_partial_retrain;pub use retrain::target_dependencies;pub use retrain::target_matches_filter;pub use retrain::PartialRetrainPlan;pub use retrain::RetrainDep;pub use retrain::TargetDeps;pub use specialize::DecisionTree;pub use specialize::SpecializeConfig;pub use specialize::SpecializeResult;pub use staleness::assess_staleness;pub use staleness::DriftSeverity;pub use staleness::DriftSignal;pub use staleness::RetrainRecommendation;pub use staleness::StalenessPolicy;pub use staleness::StalenessReport;pub use topology::CacheLevel;pub use topology::CacheNode;pub use topology::ComputeDomain;pub use topology::CoreNode;pub use topology::Package;pub use topology::ThreadNode;pub use topology::TopologyGraph;pub use tournament::Tournament;pub use tournament::TournamentConfig;pub use tournament::TournamentResult;pub use tournament::RoundOutcome;pub use variant::CorrectnessCheck;pub use variant::Variant;pub use variant::VariantId;pub use variant::VariantSet;pub use variant::VariantSetMeta;
Modules§
- arch_
compare - Architecture-level comparison scaffolding (e.g. Zen4 vs Zen5).
- archive
- Curated results archive entries (sanitized, measured-only).
- brand
- Project brand constants — single source of truth for CLI, lab, runtime, and tooling.
- compare
- Cross-profile comparison for Silicon Split and HNEP side-by-side analysis.
- counters
- Optional hardware-counter backend.
- error
- Error types for Silicera operations.
- feedback
- Silicera Compiler Feedback (SCF) — experimental bridge from HNEP to tools.
- fingerprint
- Machine fingerprinting.
- fleet
- Opt-in anonymous fleet-learning schema (no network by default).
- hardware
- Hardware discovery backends.
- hnep
- HNEP — Hardware-Native Execution Profile.
- knowledge
- AMD architecture knowledge packs.
- lifecycle
- Profile lifecycle: integrity, confidence, staleness, and retrain assessment.
- macros
- Lightweight declarative variant helpers (macro experiment).
- measure
- Measurement engine with statistical summaries and instability flags.
- remarks
- LLVM-style YAML remarks derived from SCF / HNEP (experimental).
- repro
- Experiment reproducibility pack — export enough metadata to re-run later.
- retrain
- Partial retrain dependency tracking.
- specialize
- Size-dependent specialization and decision-tree dispatch.
- staleness
- Profile staleness detection and retrain recommendations.
- topology
- Hardware topology graph: Package → Compute Domain → Core → Thread + Shared Cache.
- tournament
- Tournament pipeline: measure variants, gate on correctness, reject regressions.
- tpm
- Optional experimental TPM binding for hardware-bound profile signatures.
- variant
- Variant trait and correctness validation.
Macros§
- specialize_
target - Declare a named specialization target and its baseline id for docs/codegen hints.