評価17: SIMD
評価の目的
学習者がZigのSIMD機能を理解し、ベクトル演算を最適化できるかを評価します。
学習目標
- @Vectorの基本を理解する
- SIMD演算の実装ができる
- アライメントを考慮した設計
- パフォーマンス測定と最適化
- [ ] ベクトルサイズがCPU最適
- [ ] アライメントが正しい
- [ ] 端数処理が適切
- [ ] スカラーフォールバックがある
- [ ] パフォーマンス向上が確認できる
- 必須要件で64点以上(80%)
- スカラー版より性能が向上していること
評価項目
必須要件 (80点)
| 項目 | 配点 | 基準 |
|---|---|---|
| @Vector宣言 | 20点 | 正しい型指定 |
| ベクトル演算 | 20点 | 加算・乗算等の実装 |
| 配列との変換 | 20点 | @splat, reduce の使用 |
| ループ最適化 | 20点 | SIMD幅での処理 |
ボーナス要件 (20点)
| 項目 | 配点 | 基準 |
|---|---|---|
| 比較・選択操作 | 10点 | @select の使用 |
| ベンチマーク | 10点 | 性能測定の実施 |