Changeset 2613 for XIOS3/trunk/src/node/axis.cpp
- Timestamp:
- 03/08/24 17:05:40 (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS3/trunk/src/node/axis.cpp
r2606 r2613 310 310 int sz(1); 311 311 MPI_Comm_size( comm, &sz ); 312 size_tdistributedHash = 0;312 unsigned long long distributedHash = 0; 313 313 if (sz!=1) // compute the connector only if the element is distributed 314 314 { … … 324 324 gridTransformConnector->transfer(this->value, distributedValue ); 325 325 326 size_tlocalHash = 0;327 for (int iloc=0; iloc<localSize ; iloc++ ) localHash+= globalIndex(iloc)*distributedValue(iloc);326 unsigned long long localHash = 0; 327 for (int iloc=0; iloc<localSize ; iloc++ ) localHash+=((unsigned long long)(abs(globalIndex(iloc)*distributedValue(iloc))))%LLONG_MAX; 328 328 distributedHash = 0; 329 MPI_Allreduce( &localHash, &distributedHash, 1, MPI_UNSIGNED_LONG , MPI_SUM, comm );329 MPI_Allreduce( &localHash, &distributedHash, 1, MPI_UNSIGNED_LONG_LONG, MPI_SUM, comm ); 330 330 } 331 331 else // if the element is not distributed, the local hash is valid … … 333 333 int globalSize = this->n_glo.getValue(); 334 334 int localSize = globalSize; 335 size_tlocalHash = 0;336 for (int iloc=0; iloc<localSize ; iloc++ ) localHash+= iloc*this->value(iloc);335 unsigned long long localHash = 0; 336 for (int iloc=0; iloc<localSize ; iloc++ ) localHash+=((unsigned long long)(abs(iloc*this->value(iloc))))%LLONG_MAX; 337 337 distributedHash = localHash; 338 338 }
Note: See TracChangeset
for help on using the changeset viewer.