Accelerating Sparse Matrix Kernels with Co-Optimized Architecture