Files
High-Performance-Computing-…/run_all_tests.sh
Carlos Gutierrez ae258223ca Initial commit: Matrix alignment prototype for HPC performance demonstration
- Add C implementation demonstrating memory alignment effects (matrix_alignment_prototype.c)
- Include cache-blocked matrix multiplication with AVX SIMD optimizations
- Add automated benchmarking framework (run_all_tests.sh, run_benchmark_sizes.sh)
- Add Python visualization scripts (generate_plots.py)
- Include Makefile for building with AVX support
- Add benchmark results and generated plots
- Add README with build and usage instructions
- Configure .gitignore for C/Python project files
2025-12-06 21:47:42 -05:00

84 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Complete test suite for HPC Alignment Benchmark
# Based on OpenBLAS Issue #3879 and Step.md setup instructions
set -e # Exit on error
echo "=========================================="
echo "HPC Alignment Benchmark - Complete Test Suite"
echo "Based on OpenBLAS Issue #3879"
echo "=========================================="
echo ""
# Check if we're in the right directory
if [ ! -f "matrix_alignment_prototype.c" ]; then
echo "Error: matrix_alignment_prototype.c not found"
echo "Please run this script from the project directory"
exit 1
fi
# Step 1: Build the prototype
echo "Step 1: Building prototype..."
echo "----------------------------------------"
make clean
make
if [ $? -ne 0 ]; then
echo "Error: Build failed"
exit 1
fi
echo "✓ Build successful"
echo ""
# Step 2: Run benchmarks for all sizes
echo "Step 2: Running benchmarks for multiple sizes..."
echo "----------------------------------------"
./run_benchmark_sizes.sh
if [ $? -ne 0 ]; then
echo "Error: Benchmark failed"
exit 1
fi
echo ""
# Step 3: Display results
echo "Step 3: Benchmark Results Summary"
echo "----------------------------------------"
if [ -f "benchmark_results.csv" ]; then
echo ""
echo "Results:"
column -t -s',' benchmark_results.csv
echo ""
else
echo "Warning: benchmark_results.csv not found"
fi
# Step 4: Check for plots
echo "Step 4: Generated Files"
echo "----------------------------------------"
if [ -f "alignment_benchmark_results.png" ]; then
echo "✓ Main plot: alignment_benchmark_results.png"
fi
if [ -f "alignment_benchmark_execution_time.png" ]; then
echo "✓ Execution time plot: alignment_benchmark_execution_time.png"
fi
if [ -f "alignment_benchmark_speedup.png" ]; then
echo "✓ Speedup plot: alignment_benchmark_speedup.png"
fi
if [ -f "alignment_benchmark_variability.png" ]; then
echo "✓ Variability plot: alignment_benchmark_variability.png"
fi
if [ -f "alignment_benchmark_gflops.png" ]; then
echo "✓ GFLOPS plot: alignment_benchmark_gflops.png"
fi
echo ""
echo "=========================================="
echo "Test suite complete!"
echo "=========================================="
echo ""
echo "Next steps:"
echo "1. Review benchmark_results.csv for detailed data"
echo "2. Check generated PNG plots for visualizations"
echo "3. Compare results with OpenBLAS Issue #3879 findings"
echo ""