Previous links have expired so I am posting new ones, there are two versions in the archive:
- Requires a PARDISO (mkl) library
- 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: