"But I encounter a new problem, the situation is:

1, the matrix is big, and can be partitioned to several blocks;

2, started several threads to handle each block of matrix;

3, integrated all block matrices together."


You should be using PETSc+MPI to handle this distribution for you.  Threading will not get around any memory limits for a single process that your system may have.

A