Towards array context (2025 merge) (#256)
* Initial work towards using array contexts * update tests to pass actx * sumpy.array_context additions * port p2p to arraycontext * port p2e to arraycontext * port e2p to arraycontext * port e2e to arraycontext * port tools and toys to arraycontext * port test_tools to arraycontext * port test_misc to arraycontext * bump requirements * start porting test_kernels to arraycontext * more porting in test_kernels * add arraycontext to docs * add some annotations to make_loopy_program * finish porting in test_kernels * port qbx to arraycontext * port curve-pot to arraycontext * add pytools to intersphinx * add assumptions at kernel creation * port expansion-toys to arraycontext * move get_kernel calls to separate line for debugging * add fixed_parameters to make_loopy_program * port test_qbx to arraycontext * port test_matrixgen to arraycontext * continue porting fmm to arraycontext * update drive_fmm from boxtree * more work towards getting the fmm working * fix up fmm tests * port distributed to arraycontext * add missing actx * fix kernel return values * actually loop over all results * back up some more dictionary kernel accesses * fix matrix generation * rip out timing collection * remove unused imports (flake8) * fix return value for form_locals * remove ctx arg in KernelComputation * back out some unneeded changes * point ci to updated pytential * fix kwargs name * fix merge * docs: add pytools to intersphinx * fix device handling in p2p * fix bad merge * fix bad merge * fix some type annotations * fix some pylint errors * Drop register_optimization_preambles, handle FP contract in actx * Fix some make_obj_array stragglers * get_cached_kernel_executor -> get_cached_kernel * Fix toys * Fix jump and target derivative tests * Fix test_unified_single_and_double * Address pocl 7.x pyvkfft miscompilation https://github.com/pocl/pocl/issues/2069 * Fix docs * Use ArrayContext+assert instead of PyOpenCLActx in annotations * Fix some type annotations in P2P * Deal with DTypeLike no longer allowing None * Revert boxtree req back to main * Update baseline * Port to actx.np.zeros * Update downstream repo on CI --------- Co-authored-by:Alexandru Fikl <alexfikl@gmail.com>