“…All these libraries including Intel MKL [1] and OSKI [31] provide different interfaces for every format supported, which leaves the burden of determining and integrating the optimal format to application programmers. As a consequence, although these libraries are highly optimized by either hand-tuning or autotuning techniques [4,5,7,8,10,11,17,21,29,31,35,36] with processor architectures evolving, it is still difficult to integrate them into high level solvers or applications. This fact results in an embarrassing situation: on one hand, there are several high performance sparse libraries available; on the other hand, solver or application developers seldom use them in practice.…”