Skip to content

Openmp merge - #237

Open
cjllorente827 wants to merge 236 commits into
enzo-project:mainfrom
cjllorente827:openmp_merge
Open

Openmp merge#237
cjllorente827 wants to merge 236 commits into
enzo-project:mainfrom
cjllorente827:openmp_merge

Conversation

@cjllorente827

Copy link
Copy Markdown
Collaborator

name: Pull request
about: Create a pull request to help us improve
title: ''
labels: ''
assignees: ''


Thank you so much for your PR! To help us review, fill out the form to the best of your ability. Please make use of the development guide at https://enzo.readthedocs.io/en/latest/developer_guide/ModificationIntro.html#how-to-develop-enzo

Pull request summary

Provide a general summary of your changes in the title above, for example "Fixes crash in FluxCorrection between AMR levels". Please avoid non-descriptive titles such as "Addresses issue #42."

If you are able to do so, please do not create the PR out of main, but out of a separate branch.

Describe your pull request

Please provide at least 1-2 sentences describing the pull request in detail. Why is this change required? What problem does it solve?

If it fixes an open issue, please link to the issue here. Github will autolink if prefixed with a hash, e.g. #42.

If your PR depends on another PR, please link to the PR here github autolinking syntax.

[ ] This is a major change or addition. Will require two reviewers.

PR Checklist

Note that some of these check boxes may not apply to all pull requests.

  • New features are documented with narrative docs.
  • Adds a test for any bugs fixed. Adds tests for new features.

Thank you!

We understand that PRs can sometimes be overwhelming, especially as the
reviews start coming in. Please let us know if the reviews are unclear or the
recommended next step seems overly demanding, or if you would like help in
addressing a reviewer's comments. Lastly, please ping us if you've been waiting
too long to hear back on your PR.

John Wise and others added 30 commits February 20, 2011 16:16
--HG--
branch : week-of-code
--HG--
branch : week-of-code
- SubgridSizeAutoAdjust to TRUE (up to 30% increases in speed reported).
- Optimized CommunicationTransferParticles ON.  Was bracketed by the
OPTIMIZED_CTP define before.

--HG--
branch : week-of-code
Placing the HD cooling curve fit ceiling lower at T ~ 1e5K to avoid
overflows (inf) in the tables at T > 1e6K.

--HG--
branch : week-of-code
--HG--
branch : week-of-code
changed to the default behavior.

--HG--
branch : week-of-code
FLOAT.  Maybe this was causing some "misplaced" photons when ray
merging is used?

--HG--
branch : week-of-code
tree built for ray merging.  Not working.

--HG--
branch : week-of-code
tree built for ray merging.  Not working.

--HG--
branch : week-of-code
corruption.  No idea why this happens, but it fixed the problem in the
open-mp branch.

--HG--
branch : litemp
conservative or positive reconstruction yet.

--HG--
branch : litemp
Needed to change ijk (MAX_ANY_SINGLE_DIRECTION) to the maximum
dimension in the grid.  For some reason, it was causing memory
corruption issues in the rate solver.

--HG--
branch : litemp
--HG--
branch : litemp
Fortran didn't like multiple threads writing to the same file,
e.g. write(4,*).  Ifdef'ed them out if OpenMP is on.

--HG--
branch : litemp
instead of MPI processes.  Removed some minor memory leaks.

--HG--
branch : litemp
--HG--
branch : litemp
@bwoshea

bwoshea commented Feb 21, 2024

Copy link
Copy Markdown
Contributor

@cjllorente827 could you please (1) update the text of the PR to explain what you're doing with it, and (2) fix the code so it passes the tests? Thank you!

Edit: looking at the error messages it seems that you have a compilation problem. It should be easy to fix.

jwise77 added 25 commits May 23, 2026 23:51
…utines

- Add missing array reductions for StarsToMove and APNumberToMove in CommunicationCollectParticles.C and CommunicationTransferSubgridParticles.C.
- Restrict parallel block in CommunicationTransferSubgridParticles.C to exclude active particle copy loop.
- Remove nowait clauses from inner work-sharing loops nested inside sequential loops in Grid_CollectParticles.C, Grid_MoveAllParticles.C, and Grid_CommunicationSendParticles.C to ensure compliant work-sharing ordering.
…enmp branch

- Revert "Particle will now spawn on highest subgrid that matches its position"
  - This reverts commit d27a9b2.
- Revert "rmoved merge conflicts"
  - This reverts commit 48c06a7,
    reversing changes made to 277c0a8.
- Revert "Bugfix for ActiveParticleFinalize function call"
  - This reverts commit 815bd81.
- Revert "added the AGN particle files"
  - This reverts commit 277c0a8.
…atch, FindSubgrids pointer bug, and EvolveLevel loop nesting
…tic GridEnds array and restore thread_grid_loop logic
…nsity field loops when NumberOfProcessors == 1
…hreadedMoveList inside the parallel block to make them thread-local
…d TransferSubgridActiveParticles thread-safe using shared counters and omp critical sections
…run execution, hybrid OpenMP+MPI configurations, and code threading structure
- Add MACH_OPENMP to Make.mach.ubuntu for OpenMP builds.
- Include unistd.h and stdlib.h in uuid/gen_uuid.c for GCC 14+ compatibility.
- Re-attach HeadPointer in SingleThread mode in Grid_TransportPhotonPackages.C to prevent segfaults and resulting IndexErrors in radiation transport answer tests.
- Fix END_GRID_TIMER and END_LOAD_TIMER macro argument definitions when USE_MPI is disabled.
- Add non-MPI stub implementation for CommunicationBufferPurge and CommunicationBufferedSendCancel in CommunicationBufferedSend.C.
Remove duplicate calls to SetNumberOfPhotonPackages in RadiativeTransferMoveLocalPhotons.C
and CommunicationTransferPhotons.C that were double-subtracting moved photon package
counts, causing negative photon counts and resetting photon lists.
Also fix UnigridTranspose non-MPI fallback in ReadParameterFile.C and #ifdef USE_MPI
guard in StarParticleFindAll.C.
This is not necessary and now the install runs out of memory on a circleci
large job.
Allocate PhotonTestSource arrays dynamically on the heap rather than on the
stack in ReadPhotonSources.C and PhotonTestRestartInitialize.C to avoid
exceeding Linux thread stack limits (MAX_SOURCES = 100000).
Use MyProcessorNumber instead of calling MPI_Comm_rank with undeclared mpi_rank
when USE_MPI is disabled.
In Python 3 multiprocessing worker processes, options defined in the main block
was not present in worker global namespace, causing NameError when referencing
options.time_multiplier and options.clobber. Use getattr() with default
fallbacks and define options = None at module level.
In Grid_PhotonTestInitializeGrid.C, when MultiSpecies > 1, lines 856-857 used
outer loop index 'i' instead of cell linear offset 'n' when reading BaryonField
arrays (HMNum, H2INum, H2IINum). This caused mu_data and energy fields to be
calculated as NaN on multi-species test-suite builds, resulting in an interpolation
error during RebuildHierarchy.
In Grid_InitializeRadiativeTransferFields.C, expand field initialization loops
from 0 to GridDimension[dim]-1 to zero ghost zones in addition to active cells.
Update test-answers cache key to test-answers-v18 and gold-standard tag to
gold-standard-v18 in .circleci/config.yml to establish the post-OpenMP refactor
reference baseline for strict 1e-13 answer testing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants