(11-02-2018, 06:36 AM)dexter1 Wrote: SPROC and pthreads cannot coexist in one program, they are mutually exclusive.
If lscs_mp requires SPROC then your code should use SPROC only.
I understand that the code you're using is using pthreads, this means that you need to use something else to solve large sparse matrices.
Because i have worked in numerical engineering for quite some time, may i suggest to you libraries like UMFPACK or SPQR?
These are well suited for solving large sparse matrices with respectively full rank or rank deficient systems.
See http://faculty.cse.tamu.edu/davis/suitesparse.html for code. You may need an older version for SPQR to compile it under IRIX systems
They require fast BLAS and LAPACK libraries, these are provided in IRIX, or you could roll-your-own using ATLAS, see http://math-atlas.sourceforge.net/
Thank you so much for your response and suggestions. I realize that SPROC and pthreads cannot coexist in one program. I can certainly look into using other libraries like UMFPACK or SPQR as you have suggested. However the main reason why I was back on Irix at all was for the lure of SGI's SCSL libraries and lscs routine. It seems back in the days SGI hand-coded some of these routine 'down to the metal' to optimize the speed of these sparse solvers.
As I mentioned before, I can still use lscs which is pleasantly fast enough for my applications. It would have been nicer to run the multi-processor version of it (lcscs_mp) if possible in the code I am using.
Since I don't know much about mult-thread programming, is there any way to replace or bypass the pthreads and use/allow sproc just during the call to lscs_mp?