We have some C code working for solving a big linear system that is quite sparse using the cluster sparse solver routines in MKL. We generally followed the `cl_solver_unsym_distr_c.c` example code.
We want to now use this code on an even larger sparse matrix that has over 3 billion non-zero entries (but it is, in fact, sparse). It appears that the cluster sparse solver insists on the number of non-zeros being specified by an MKL_INT, which we are obviously overflowing. Passing in a long instead of an int generates an error.
Is there a solution to this problem? Are we limited to considering matrices with nnz that is bounded by the maximum size of an integer?