CalculiX and PaStiX solver Windows version

Previous links have expired so I am posting new ones, there are two versions in the archive:

  1. Requires a PARDISO (mkl) library
  2. Does not require PARDISO libraries (PARDISO cannot be used)

Both of these versions, as part of the tests, have the option to choose (can be added to: cmdStartup.bat from bConverged):

set PASTIX_ORDERING=0
0 - Scotch, 1 - Metis

and:

set PASTIX_SCHEDULER=1
0 - Static, 1 - StarPU, 3 - Sequential, 2 - parsec (not working yet)

my patch of pastix.c:

	// Set best PaStiX parameters for CalculiX usage	
    const char* pastix_ordering = getenv("PASTIX_ORDERING");
    if(atoi(pastix_ordering) == 1) {
	
	iparm[IPARM_ORDERING]  				= PastixOrderMetis;
    }		
    else {	
	
	iparm[IPARM_ORDERING]  				= PastixOrderScotch;
    }
    if( mode == AS ){
	    iparm[IPARM_SCHEDULER] 			= PastixSchedStatic;
    }
    else{
	const char* pastix_scheduler = getenv("PASTIX_SCHEDULER");
	if(atoi(pastix_scheduler) == 1) {
		
	    iparm[IPARM_SCHEDULER] 			= PastixSchedStarPU;
	}
	else if(atoi(pastix_scheduler) == 2) {
		
	    iparm[IPARM_SCHEDULER] 			= PastixSchedParsec;
	}
	else if(atoi(pastix_scheduler) == 3) {
		
	    iparm[IPARM_SCHEDULER] 			= PastixSchedSequential;
	}
	else {
		
	    iparm[IPARM_SCHEDULER] 			= PastixSchedStatic;
	}
    }

password: 4VERsW9m8h

My very simple benchmark:
image

2 Likes