Skip to content
Snippets Groups Projects
  1. Mar 05, 2025
  2. Nov 23, 2024
  3. Oct 11, 2024
  4. Sep 07, 2024
  5. Jul 16, 2024
  6. Jul 11, 2024
  7. Apr 26, 2024
  8. Oct 13, 2023
  9. Aug 12, 2023
  10. May 03, 2023
  11. Oct 20, 2022
  12. Jun 13, 2022
  13. Apr 25, 2022
  14. Mar 02, 2022
    • Matthias Diener's avatar
      use hash of comm_tag if not numeric (#222) · bde1ad7b
      Matthias Diener authored
      
      * use hash of comm_tag if not numeric
      
      * Drop comm_tag_to_mpi_tag
      
      * modulo tag_ub
      
      * flake8
      
      * use actx mpi_comm
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      
      * User persistent_dict hashing to guess a tag
      
      Co-authored-by: default avatarAndreas Kloeckner <inform@tiker.net>
      bde1ad7b
    • Matthias Diener's avatar
      Boundary lazy comm v2 (#183) · 44760a52
      Matthias Diener authored
      
      * Boundary lazy comm v2
      
      * fixes
      
      * use pytato branch
      
      * use staple_distributed_send
      
      * add lazy option to wave-op-mpi
      
      * ci fix
      
      * initial actx support
      
      * _RankBoundaryCommunicationLazy: do not convert to/from numpy, flatten
      
      * Prototype MPIPytatoPyOpenCLArrayContext
      
      * Drop evt.wait in distributed actx
      
      * cross_rank_trace_pairs: set 'unique' tag per obj array component
      
      * Drop commented-out graph vis from mpi+lazy actx
      
      * add clone()
      
      * only use Lazy boundary comm when running with lazy actx
      
      * fix git branch
      
      * remove duplicate requirement
      
      * accept distributed+parallel actx
      
      * wave-op-mpi: add simple timing
      
      * fix MPISingleGridWorkBalancingPytatoArrayContex
      
      * fix spelling
      
      * initial lazy batched comm
      
      * select comm class based on actx
      
      * flake8
      
      * use meshmode lazy actx
      
      * test: use random tag
      
      * undo random tag change
      
      * use random tag again
      
      * another tag fix
      
      * debug tracepair
      
      * add dbg
      
      * more dbg
      
      * Use structured tags for lazily-communicated array containers
      
      * MPISingleGridWorkBalancingPytatoArrayContext: Convert symbolic to numeric comm tags
      
      * more type annotation
      
      * support running eager comm as well
      
      * force SingleGridWorkBalancingPytatoArrayContext
      
      * wave-op-mpi: Fix name of MPI+Pytato array context
      
      * wave-op-mpi: Add missing mpi_communicator arg to DiscretizationCollection
      
      * Distributed actx: deduplicate data wrappers before partitioning
      
      * undo pytato branch
      
      * add loopy req
      
      * test with MPI
      
      * use serial actx if parallel not available
      
      * rework dependency chain
      
      * fix lint
      
      * make wave-op-mpi run without older lazy actx
      
      * adapt to recent arraycontext changes
      
      * use DistributedLazyArrayContext to simplify lazy detection
      
      * document tag arg
      
      * Simplify distributed-lazy array context usage (#218)
      
      * add get_reasonable_array_context_class
      
      * add get_reasonable_array_context_class
      
      * document tag in interior_trace_pairs
      
      * update MPI test infrastructure
      
      * restructure tests
      
      * Weak wave operator: add comm tag
      
      * Generalize MPI test orchestration for lazy
      
      * MPI test: use actx.compile
      
      * test fixes
      
      * fix sin()
      
      * Drop leap from test_mpi_communication
      
      * Add norm assert to test_mpi_communication
      
      * restore final_t
      
      * Introduce an eager-MPI array context with a sym->num tag map
      
      Co-authored-by: default avatarAndreas Kloeckner <inform@tiker.net>
      44760a52
  15. Jan 14, 2022
    • Thomas H. Gibson's avatar
      Add an Euler model (#196) · f3d986bb
      Thomas H. Gibson authored
      * Add Euler module
      
      * Add simple vortex example
      
      * Document Euler operator and add pulse experiment
      
      * Test euler examples in lazy mode
      
      * Make rk4_step importable
      
      * Remove copypasta from example headers
      
      * Make vortex initial condition importable
      
      * Add Euler convergence test to test suite
      
      * Rename: EulerContainer -> EulerField
      
      * Clean up vortex initial condition
      
      * Add type annotations and rename array container
      
      * Clean up helper functions
      
      * Add Euler module to the docs
      f3d986bb
  16. Jan 13, 2022
    • Thomas H. Gibson's avatar
      Fix metric computation for affine + overintegrated (#210) · 9dca44da
      Thomas H. Gibson authored
      
      * Add overintegration option for wave-op-mpi
      
      * Add OI+lazy to examples CI testing
      
      * Draft: Use P^0 discr on affine groups even if quad grid requested
      
      * Refactor geoderiv connection/interpolation steps
      
      * Fix quadrature interpolation
      
      * Add pytato pytest array context factory
      
      * Update metric unit tests
      
      * Clarifying comment
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      
      * Add nonaffine option for wave op example
      
      * Run lazy + nonaffine + overintegration in examples CI testing
      
      * Add quadrature case for metric unit tests
      
      * Add optional import for debugging outside of pytest
      
      * Add docstrings for _use_geoderiv_connection
      
      Co-authored-by: default avatarAndreas Kloeckner <inform@tiker.net>
      9dca44da
  17. Dec 13, 2021
  18. Dec 06, 2021
    • Thomas H. Gibson's avatar
      Array container support and batched (eager) communication (#154) · d48c9bc2
      Thomas H. Gibson authored
      
      * Support array containers in core grudge DG ops
      
      * Convert wave example to use array containers
      
      * Update projection routine to support array containers
      
      * Convert mpi communication
      
      * Use DOFArray-based traversal routines
      
      * Containerize distributed (eager) MPI communication
      
      * Use array container in wave-op-mpi example
      
      * Clean up wave-op-mpi demo
      
      * Use non-recursive array traversal
      
      * Use map_array_container in trace pair exchange
      
      * Remove unused imports
      
      * Remove sketchy assert; shape differs when evaluating fluxes vs storing state
      
      * Refactor containerization routines
      
      * Fix suppressed logging error
      
      * Fix forward flattening map
      
      * Fix type check in projection routine
      
      * dofdesc-itize descriptors first in projection
      
      * Make flattening methods private and provide short docs
      
      * Clean up flatten/unflatten functions and document
      
      * Carefully track ordering of data in flattened array
      
      * Use container flatten/unflatten functions from arraycontext
      
      * Containerize elementwise reductions and add unit tests
      
      * Containerize nodal reductions and add unit tests
      
      * Update documentation to reflect container support
      
      * Catch scalars in op.norm
      
      * Remove flat_norm and use op.norm instead
      
      * Separate initialization and completion of send/recv
      
      * Fix documentation in operator module
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      
      * Rename boundary communicator data/attributes
      
      * Comment on nonblocking MPI communication process in communicator class
      
      * Clean up comments related to rank-communication for trace pairs
      
      * Clean up/clarify documentation related to array containers
      
      * Update reduction unit tests
      
      * Documentation updates
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      
      * Fix comment formatting
      
      * Containerize grad/div functions
      
      * Add checks for empty arrays in grad/div operators
      
      * Fix gradient op for vector-valued components
      
      * Correct div helper for handling empty and nested obj arrays
      
      * Clear up documentation and add clarifying notes
      
      * More shared code in array container support (#191)
      
      * Refactor grad/weak grad to use the same helper, simplify div empty handling
      
      * Factor out some redundant code in elementwise reductions
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      d48c9bc2
  19. Nov 27, 2021
  20. Oct 25, 2021
  21. Jun 30, 2021
  22. Jun 17, 2021
  23. Jun 11, 2021
    • Thomas H. Gibson's avatar
      Return non-geometric factors for all groups (#121) · ee30ed68
      Thomas H. Gibson authored
      
      * Update function: dt_non_geometric_factor -> dt_non_geometric_factors
      
      * Add timestep estimation helper function
      
      * Add clarifying remark about timestep estimation
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      
      * Make wavespeed argument option
      
      * Drop dt estimator; provide characteristic lengthscales
      
      * Expand and update documentation
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      
      * Allow HyperbolicOperator.max_characteristic_velocity to return local data
      
      * Add warning to dt_geometric_factors about non-volume discretizations
      
      * Add fudge factor to surface advection time step
      
      * Time step estimation: clean up freeze/thaw semantics
      
      * Wave models: clean up freeze/thaw
      
      * Variable coefficient wave model: do not nodal-reduce characteristic velocity
      
      * Add missing freeze(...) for dim=1 case
      
      * Add missing thaw in dt utils unit test
      
      * Fix variable coefficient wave example
      
      * Memoize characteristic lengths rather than geometric factors
      
      * Use actx from wave speed DOFArray in variable coefficient operator
      
      * Pass array context to estimate_rk4_timestep
      
      * Ensure application actx is passed through to timestep estimation
      
      * Update Operator method interfaces for timestepping
      
      * Always return thawed characteristic lengthscales
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      ee30ed68
  24. Jun 06, 2021
  25. Jun 05, 2021
  26. Jun 04, 2021
  27. Jun 02, 2021
  28. May 26, 2021
Loading