CoreMark Quick Start Guide¶
TL;DR - Hızlı Kullanım¶
1. Sadece Spike'ta Koştur (En Hızlı Test)¶
Sonuçlar:
- Output: results/logs/spike/coremark/uart_output.log
- Commits: results/logs/spike/coremark/spike_commits.log
2. Her İki Platformda da Koştur ve Karşılaştır¶
Sonuçlar:
- Ceres-V logs: results/logs/verilator/coremark/
- Spike logs: results/logs/spike/coremark/
- Karşılaştırma: results/comparison/coremark/comparison_report.txt
3. Python Script ile Commit Logları Karşılaştır¶
python3 your_compare_script.py \
results/logs/verilator/coremark/ceres_commits.log \
results/logs/spike/coremark/spike_commits.log
Dizin Yapısı¶
results/logs/
├── verilator/coremark/ # Ceres-V (kendi işlemcin)
│ ├── uart_output.log # CoreMark sonuçları
│ ├── ceres_commits.log # Instruction trace
│ └── waveform.fst # Dalga formu (opsiyonel)
│
├── spike/coremark/ # Spike (referans ISS)
│ ├── uart_output.log # CoreMark sonuçları
│ └── spike_commits.log # Instruction trace
│
└── comparison/coremark/ # Karşılaştırma
└── comparison_report.txt
Iterasyon Önerileri¶
| Iterations | Instructions | Süre (tahmini) | Kullanım |
|---|---|---|---|
| 1 | ~10M | ~1 dakika | Hızlı test |
| 5 | ~50M | ~5 dakika | Geliştirme |
| 10 | ~100M | ~10 dakika | Hafif benchmark |
| 100 | ~1B | ~60 dakika | Tam benchmark |
Commit Log Formatı¶
Her iki platform da aynı formatı kullanıyor:
core 0: 3 0x80000000 (0x2000006f) # PC ve instruction
core 0: 3 0x80000200 (0x00000093) x1 0x00000000 # Register yazma
core 0: 3 0x8000020c (0x00028067) mem 0x00001018 # Memory erişimi
Format: core ID : privilege : PC (instruction) [reg updates] [mem accesses]
Önemli Notlar¶
- Timing farkı: Spike gettimeofday() kullandığı için simülasyon zamanını gösterir (çok yavaş görünür ama normal)
- Commit sayısı: Her iki platformda da instruction count aynı olmalı
- CRC değerleri: Correct operation için CRC'ler eşleşmeli
- Dosya boyutu: ~10 iteration için ~1.9M instruction, ~90MB commit log
Sorun Giderme¶
"Spike not found"¶
"pk not found"¶
Commit log çok büyük¶
Daha Fazla Bilgi¶
Detaylı kullanım için: COREMARK_COMPARISON.md