This folder is the cleaned project bundle for the parallel search used in chess engine. It is organized to be easy to share, review, and upload as a standalone package.
-
code/
C++ source files, headers, Makefile, and usage notes for the benchmark implementation. -
data/
Input dataset used for the project, including the Tal PGN benchmark source. -
results/
Benchmark outputs, merged CSV files, representative run logs, and analysis-ready experiment results. -
plots/
Final report plots and supporting figures used to summarize scaling behavior and profiling findings. -
slurm_scripts/
Slurm job scripts for full runs, array sharding, CSV merge, and weak-scaling experiments.
This project studies the scalability of sequential and OpenMP-parallel Alpha-Beta chess search on shared-memory CPU systems.
Key outcomes:
- Benchmarked
2,431chess positions from the Tal PGN dataset - Evaluated depths
4,5, and6 - Generated
43,758benchmark measurements in the final study - Added search optimizations including:
- transposition-table caching
- root alpha-beta window reuse
- improved parallel bound sharing
- dynamic thread-count handling
- Observed best overall efficiency-performance behavior around
8CPU threads
If someone is reviewing the project for the first time, the best order is:
code/README.mdresults/Tal_final_results.csvresults/tal_full_results.csvplots/report_plots/strong_scaling_runtime.svgplots/report_plots/strong_scaling_speedup.svgplots/report_plots/strong_scaling_efficiency.svgplots/report_plots/weak_scaling_runtime.svgplots/report_plots/weak_scaling_efficiency.svg