Trilinos is also provided as part of the Cray Programming Environment software stack. It provides a set of packages to solve linear and non-linear systems of equations, eigensystems and other related problems while leveraging the value of established libraries. Cray provides an optimized version of the standard Trilinos library which is highly tuned for Cray hardware via Cray's custom CASK.
CASK is an auto-tuned and adaptive framework for the optimization of Sparse Matrix Vector operations. CASK uses a custom code generator and the result of extensive offline research to select the best optimization method according to the problem characteristics. This adaptive approach is vital in the optimization of sparse linear solvers since the performance of numeric kernels is highly dependent on sparsity characteristics of the calling problem. CASK provides CSR (Compressed Sparse Row format) and FBSR (Fixed Block Sparse Row) tuned kernels that can improve Trilinos performance by 5% to 30%. The exact performance advantage from CASK depends on the matrix class of the calling problem.
% module load cray-trilinos