Skip to content

Commit

Permalink
fix(openmp): parallel for should use signed type
Browse files Browse the repository at this point in the history
  • Loading branch information
Curve committed Mar 17, 2024
1 parent 48245c1 commit a5330e4
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 11 deletions.
4 changes: 2 additions & 2 deletions include/viennaps/cellSet/csDenseCellSet.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ template <class T, int D> class csDenseCellSet {
}

#pragma omp parallel for
for (unsigned cellIdx = 0; cellIdx < numCells; cellIdx++) {
for (int cellIdx = 0; cellIdx < numCells; cellIdx++) {
auto coord = nodes[cells[cellIdx][0]];
for (int i = 0; i < D; i++) {
coord[i] += gridDelta / 2.;
Expand Down Expand Up @@ -669,7 +669,7 @@ template <class T, int D> class csDenseCellSet {
auto numMaterials = materialMap->size();

#pragma omp parallel for
for (size_t i = 0; i < matIds->size(); i++) {
for (ssize_t i = 0; i < matIds->size(); i++) {
int materialId = static_cast<int>(matIds->at(i));
if (!cellSetAboveSurface)
materialId--;
Expand Down
2 changes: 1 addition & 1 deletion include/viennaps/cellSet/csSegmentCells.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ template <class NumericType, int D> class csSegmentCells {
auto materials = cellSet->getScalarData("Material");

#pragma omp parallel for
for (unsigned i = 0; i < materials->size(); ++i) {
for (int i = 0; i < materials->size(); ++i) {
if (!psMaterialMap::isMaterial(materials->at(i), bulkMaterial)) {
auto neighbors = cellSet->getNeighbors(i);
for (auto n : neighbors) {
Expand Down
8 changes: 4 additions & 4 deletions include/viennaps/cellSet/csTracing.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ template <class T, int D> class csTracing {
std::vector<T> average(data->size(), 0.);

#pragma omp parallel for
for (size_t i = 0; i < data->size(); i++) {
for (ssize_t i = 0; i < data->size(); i++) {
if (data->at(i) < 0) {
average[i] = -1.;
continue;
Expand Down Expand Up @@ -177,7 +177,7 @@ template <class T, int D> class csTracing {
}

#pragma omp parallel for
for (size_t i = 0; i < data->size(); i++) {
for (ssize_t i = 0; i < data->size(); i++) {
data->at(i) = average[i];
}
}
Expand All @@ -190,7 +190,7 @@ template <class T, int D> class csTracing {
std::vector<T> average(data->size(), 0.);

#pragma omp parallel for
for (size_t i = 0; i < data->size(); i++) {
for (ssize_t i = 0; i < data->size(); i++) {
if (materialIds->at(i) != materialId)
continue;

Expand Down Expand Up @@ -220,7 +220,7 @@ template <class T, int D> class csTracing {
}

#pragma omp parallel for
for (size_t i = 0; i < data->size(); i++) {
for (ssize_t i = 0; i < data->size(); i++) {
data->at(i) = average[i];
}
}
Expand Down
8 changes: 4 additions & 4 deletions include/viennaps/psMeanFreePath.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ template <class NumericType, int D> class psMeanFreePath {
std::vector<NumericType> result(numCells, 0);
for (const auto &data : threadLocalData) {
#pragma omp parallel for
for (unsigned i = 0; i < numCells; ++i) {
for (int i = 0; i < numCells; ++i) {
result[i] += data[i];
}
}
Expand All @@ -194,14 +194,14 @@ template <class NumericType, int D> class psMeanFreePath {
std::vector<NumericType> hitCounts(numCells, 0);
for (const auto &data : threadLocalHitCount) {
#pragma omp parallel for
for (unsigned i = 0; i < numCells; ++i) {
for (int i = 0; i < numCells; ++i) {
hitCounts[i] += data[i];
}
}

// normalize data
#pragma omp parallel for
for (unsigned i = 0; i < numCells; ++i) {
for (int i = 0; i < numCells; ++i) {
if (hitCounts[i] > 0)
result[i] = result[i] / hitCounts[i];
else
Expand All @@ -212,7 +212,7 @@ template <class NumericType, int D> class psMeanFreePath {
auto finalResult = cellSet->addScalarData("MeanFreePath");
materialIds = cellSet->getScalarData("Material");
#pragma omp parallel for
for (unsigned i = 0; i < numCells; i++) {
for (int i = 0; i < numCells; i++) {
if (!psMaterialMap::isMaterial(materialIds->at(i), material))
continue;

Expand Down

0 comments on commit a5330e4

Please sign in to comment.