Skip to content
Snippets Groups Projects
  1. May 20, 2022
    • Matt Smith's avatar
      Make nodal reductions work with empty meshes (#256) · 62b3dc78
      Matt Smith authored
      
      * support empty groups in reductions
      
      * simplify conditional
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      
      * don't set a default initial value in nodal_min/nodal_max
      
      * test with and without initial value
      
      * Revert "don't set a default initial value in nodal_min/nodal_max"
      
      This reverts commit 771fb7bab3a18e64248fe7725f53c77a48ef6ae6.
      
      decided against this; not setting an initial value means that initial
      value always needs to be passed in multi-volume case
      
      * add test case for empty + no initial value
      
      Co-authored-by: default avatarAndreas Klöckner <inform@tiker.net>
      62b3dc78
  2. Apr 29, 2022
  3. Apr 25, 2022
  4. Apr 17, 2022
  5. Apr 06, 2022
  6. Mar 25, 2022
  7. Mar 03, 2022
  8. 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
  9. 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
  10. Jan 13, 2022
  11. Jan 12, 2022
  12. Jan 03, 2022
  13. 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
  14. Nov 02, 2021
  15. Oct 25, 2021
  16. Oct 20, 2021
  17. Oct 19, 2021
  18. Jul 21, 2021
    • Mike Campbell's avatar
      Fix diff property, ugh. (#151) · b2b90ffc
      Mike Campbell authored
      * Fix diff property, ugh.
      
      * Add missing docstring support
      
      * Test the values, not the truthy property of these arrays.
      
      * Get op (woops).
      b2b90ffc
  19. Jun 30, 2021
  20. Jun 17, 2021
  21. 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
  22. Jun 06, 2021
  23. Jun 05, 2021
  24. Jun 04, 2021
  25. Jun 03, 2021
  26. Jun 02, 2021
  27. May 27, 2021
Loading