USE_OMP, dont miss error return codes when a DEVLoadOMP() invocation fails

This commit is contained in:
rlar 2014-06-01 18:49:08 +02:00
parent e562243558
commit 6dc5f12914
6 changed files with 30 additions and 24 deletions

View File

@ -47,14 +47,15 @@ CKTcircuit *ckt)
int idx;
BSIM3model *model = (BSIM3model*)inModel;
int good = 0;
BSIM3instance *here;
BSIM3instance **InstArray;
InstArray = model->BSIM3InstanceArray;
#pragma omp parallel for private(here)
#pragma omp parallel for
for (idx = 0; idx < model->BSIM3InstCount; idx++) {
here = InstArray[idx];
good = BSIM3LoadOMP(here, ckt);
BSIM3instance *here = InstArray[idx];
int local_good = BSIM3LoadOMP(here, ckt);
if (local_good)
good = local_good;
}
BSIM3LoadRhsMat(inModel, ckt);

View File

@ -77,14 +77,15 @@ CKTcircuit *ckt)
int idx;
BSIM4model *model = (BSIM4model*)inModel;
int good = 0;
BSIM4instance *here;
BSIM4instance **InstArray;
InstArray = model->BSIM4InstanceArray;
#pragma omp parallel for private(here)
#pragma omp parallel for
for (idx = 0; idx < model->BSIM4InstCount; idx++) {
here = InstArray[idx];
good = BSIM4LoadOMP(here, ckt);
BSIM4instance *here = InstArray[idx];
int local_good = BSIM4LoadOMP(here, ckt);
if (local_good)
good = local_good;
}
BSIM4LoadRhsMat(inModel, ckt);

View File

@ -77,14 +77,15 @@ CKTcircuit *ckt)
int idx;
BSIM4v6model *model = (BSIM4v6model*)inModel;
int good = 0;
BSIM4v6instance *here;
BSIM4v6instance **InstArray;
InstArray = model->BSIM4v6InstanceArray;
#pragma omp parallel for private(here)
#pragma omp parallel for
for (idx = 0; idx < model->BSIM4v6InstCount; idx++) {
here = InstArray[idx];
good = BSIM4v6LoadOMP(here, ckt);
BSIM4v6instance *here = InstArray[idx];
int local_good = BSIM4v6LoadOMP(here, ckt);
if (local_good)
good = local_good;
}
BSIM4v6LoadRhsMat(inModel, ckt);

View File

@ -75,14 +75,15 @@ CKTcircuit *ckt)
int idx;
BSIM4v7model *model = (BSIM4v7model*)inModel;
int good = 0;
BSIM4v7instance *here;
BSIM4v7instance **InstArray;
InstArray = model->BSIM4v7InstanceArray;
#pragma omp parallel for private(here)
#pragma omp parallel for
for (idx = 0; idx < model->BSIM4v7InstCount; idx++) {
here = InstArray[idx];
good = BSIM4v7LoadOMP(here, ckt);
BSIM4v7instance *here = InstArray[idx];
int local_good = BSIM4v7LoadOMP(here, ckt);
if (local_good)
good = local_good;
}
BSIM4v7LoadRhsMat(inModel, ckt);

View File

@ -110,14 +110,15 @@ B4SOIload(
int idx;
B4SOImodel *model = (B4SOImodel*)inModel;
int good = 0;
B4SOIinstance *here;
B4SOIinstance **InstArray;
InstArray = model->B4SOIInstanceArray;
#pragma omp parallel for private(here)
#pragma omp parallel for
for (idx = 0; idx < model->B4SOIInstCount; idx++) {
here = InstArray[idx];
good = B4SOILoadOMP(here, ckt);
B4SOIinstance *here = InstArray[idx];
int local_good = B4SOILoadOMP(here, ckt);
if (local_good)
good = local_good;
}
B4SOILoadRhsMat(inModel, ckt);

View File

@ -190,14 +190,15 @@ int HSM2load(
int idx;
HSM2model *model = (HSM2model*)inModel;
int good = 0;
HSM2instance *here;
HSM2instance **InstArray;
InstArray = model->HSM2InstanceArray;
#pragma omp parallel for private(here)
#pragma omp parallel for
for (idx = 0; idx < model->HSM2InstCount; idx++) {
here = InstArray[idx];
good = HSM2LoadOMP(here, ckt);
HSM2instance *here = InstArray[idx];
int local_good = HSM2LoadOMP(here, ckt);
if (local_good)
good = local_good;
}
HSM2LoadRhsMat(inModel, ckt);