├── .gitattributes ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .mailmap ├── AUTHORS ├── CONTRIBUTING.md ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.rst ├── doc ├── Makefile ├── pyop2.tex └── sphinx │ ├── Makefile │ └── source │ ├── architecture.rst │ ├── backends.rst │ ├── caching.rst │ ├── concepts.rst │ ├── conf.py │ ├── images │ ├── assembly.svg │ ├── csr.svg │ ├── direct_arg.svg │ ├── indirect_arg.svg │ ├── indirect_arg_flattened.svg │ ├── iteration_spaces.svg │ ├── mixed_assembly.svg │ ├── mixed_sparsity.svg │ ├── mixed_sparsity2.svg │ ├── mpi_matrix.svg │ ├── pyop2_architecture.svg │ ├── pyop2_colouring.svg │ ├── pyop2_device_data_state.svg │ └── pyop2_mpi_mesh.svg │ ├── index.rst │ ├── installation.rst │ ├── ir.rst │ ├── kernels.rst │ ├── linear_algebra.rst │ ├── mixed.rst │ ├── mpi.rst │ ├── plan.rst │ ├── profiling.rst │ └── user.rst ├── pyop2 ├── __init__.py ├── _version.py ├── caching.py ├── codegen │ ├── __init__.py │ ├── builder.py │ ├── c │ │ ├── inverse.c │ │ └── solve.c │ ├── loopycompat.py │ ├── node.py │ ├── optimise.py │ ├── rep2loopy.py │ └── representation.py ├── compilation.py ├── configuration.py ├── datatypes.py ├── exceptions.py ├── global_kernel.py ├── local_kernel.py ├── logger.py ├── mpi-compat.h ├── mpi.py ├── op2.py ├── parloop.py ├── profiling.py ├── sparsity.pyx ├── types │ ├── __init__.py │ ├── access.py │ ├── dat.py │ ├── data_carrier.py │ ├── dataset.py │ ├── glob.py │ ├── halo.py │ ├── map.py │ ├── mat.py │ └── set.py ├── utils.py └── version.py ├── requirements-ext.txt ├── requirements-git.txt ├── requirements-minimal.txt ├── requirements.txt ├── scripts ├── pyop2-clean └── spydump ├── setup.cfg ├── setup.py ├── test └── unit │ ├── test_api.py │ ├── test_caching.py │ ├── test_callables.py │ ├── test_configuration.py │ ├── test_dats.py │ ├── test_direct_loop.py │ ├── test_extrusion.py │ ├── test_global_reduction.py │ ├── test_globals.py │ ├── test_indirect_loop.py │ ├── test_iteration_space_dats.py │ ├── test_linalg.py │ ├── test_linalg_complex.py │ ├── test_matrices.py │ ├── test_petsc.py │ ├── test_subset.py │ └── test_vector_map.py └── versioneer.py /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/.gitignore -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/.mailmap -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/AUTHORS -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/Makefile -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/README.rst -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | pdflatex pyop2.tex 3 | -------------------------------------------------------------------------------- /doc/pyop2.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/pyop2.tex -------------------------------------------------------------------------------- /doc/sphinx/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/Makefile -------------------------------------------------------------------------------- /doc/sphinx/source/architecture.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/architecture.rst -------------------------------------------------------------------------------- /doc/sphinx/source/backends.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/backends.rst -------------------------------------------------------------------------------- /doc/sphinx/source/caching.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/caching.rst -------------------------------------------------------------------------------- /doc/sphinx/source/concepts.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/concepts.rst -------------------------------------------------------------------------------- /doc/sphinx/source/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/conf.py -------------------------------------------------------------------------------- /doc/sphinx/source/images/assembly.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/assembly.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/csr.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/csr.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/direct_arg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/direct_arg.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/indirect_arg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/indirect_arg.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/indirect_arg_flattened.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/indirect_arg_flattened.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/iteration_spaces.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/iteration_spaces.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/mixed_assembly.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/mixed_assembly.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/mixed_sparsity.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/mixed_sparsity.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/mixed_sparsity2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/mixed_sparsity2.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/mpi_matrix.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/mpi_matrix.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/pyop2_architecture.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/pyop2_architecture.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/pyop2_colouring.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/pyop2_colouring.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/pyop2_device_data_state.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/pyop2_device_data_state.svg -------------------------------------------------------------------------------- /doc/sphinx/source/images/pyop2_mpi_mesh.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/images/pyop2_mpi_mesh.svg -------------------------------------------------------------------------------- /doc/sphinx/source/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/index.rst -------------------------------------------------------------------------------- /doc/sphinx/source/installation.rst: -------------------------------------------------------------------------------- 1 | ../../../README.rst -------------------------------------------------------------------------------- /doc/sphinx/source/ir.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/ir.rst -------------------------------------------------------------------------------- /doc/sphinx/source/kernels.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/kernels.rst -------------------------------------------------------------------------------- /doc/sphinx/source/linear_algebra.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/linear_algebra.rst -------------------------------------------------------------------------------- /doc/sphinx/source/mixed.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/mixed.rst -------------------------------------------------------------------------------- /doc/sphinx/source/mpi.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/mpi.rst -------------------------------------------------------------------------------- /doc/sphinx/source/plan.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/plan.rst -------------------------------------------------------------------------------- /doc/sphinx/source/profiling.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/profiling.rst -------------------------------------------------------------------------------- /doc/sphinx/source/user.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/doc/sphinx/source/user.rst -------------------------------------------------------------------------------- /pyop2/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/__init__.py -------------------------------------------------------------------------------- /pyop2/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/_version.py -------------------------------------------------------------------------------- /pyop2/caching.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/caching.py -------------------------------------------------------------------------------- /pyop2/codegen/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pyop2/codegen/builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/builder.py -------------------------------------------------------------------------------- /pyop2/codegen/c/inverse.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/c/inverse.c -------------------------------------------------------------------------------- /pyop2/codegen/c/solve.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/c/solve.c -------------------------------------------------------------------------------- /pyop2/codegen/loopycompat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/loopycompat.py -------------------------------------------------------------------------------- /pyop2/codegen/node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/node.py -------------------------------------------------------------------------------- /pyop2/codegen/optimise.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/optimise.py -------------------------------------------------------------------------------- /pyop2/codegen/rep2loopy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/rep2loopy.py -------------------------------------------------------------------------------- /pyop2/codegen/representation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/codegen/representation.py -------------------------------------------------------------------------------- /pyop2/compilation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/compilation.py -------------------------------------------------------------------------------- /pyop2/configuration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/configuration.py -------------------------------------------------------------------------------- /pyop2/datatypes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/datatypes.py -------------------------------------------------------------------------------- /pyop2/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/exceptions.py -------------------------------------------------------------------------------- /pyop2/global_kernel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/global_kernel.py -------------------------------------------------------------------------------- /pyop2/local_kernel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/local_kernel.py -------------------------------------------------------------------------------- /pyop2/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/logger.py -------------------------------------------------------------------------------- /pyop2/mpi-compat.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/mpi-compat.h -------------------------------------------------------------------------------- /pyop2/mpi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/mpi.py -------------------------------------------------------------------------------- /pyop2/op2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/op2.py -------------------------------------------------------------------------------- /pyop2/parloop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/parloop.py -------------------------------------------------------------------------------- /pyop2/profiling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/profiling.py -------------------------------------------------------------------------------- /pyop2/sparsity.pyx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/sparsity.pyx -------------------------------------------------------------------------------- /pyop2/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/__init__.py -------------------------------------------------------------------------------- /pyop2/types/access.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/access.py -------------------------------------------------------------------------------- /pyop2/types/dat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/dat.py -------------------------------------------------------------------------------- /pyop2/types/data_carrier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/data_carrier.py -------------------------------------------------------------------------------- /pyop2/types/dataset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/dataset.py -------------------------------------------------------------------------------- /pyop2/types/glob.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/glob.py -------------------------------------------------------------------------------- /pyop2/types/halo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/halo.py -------------------------------------------------------------------------------- /pyop2/types/map.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/map.py -------------------------------------------------------------------------------- /pyop2/types/mat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/mat.py -------------------------------------------------------------------------------- /pyop2/types/set.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/types/set.py -------------------------------------------------------------------------------- /pyop2/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/utils.py -------------------------------------------------------------------------------- /pyop2/version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/pyop2/version.py -------------------------------------------------------------------------------- /requirements-ext.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/requirements-ext.txt -------------------------------------------------------------------------------- /requirements-git.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/requirements-git.txt -------------------------------------------------------------------------------- /requirements-minimal.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/requirements-minimal.txt -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | -r requirements-minimal.txt 2 | -------------------------------------------------------------------------------- /scripts/pyop2-clean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/scripts/pyop2-clean -------------------------------------------------------------------------------- /scripts/spydump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/scripts/spydump -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/setup.cfg -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/setup.py -------------------------------------------------------------------------------- /test/unit/test_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_api.py -------------------------------------------------------------------------------- /test/unit/test_caching.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_caching.py -------------------------------------------------------------------------------- /test/unit/test_callables.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_callables.py -------------------------------------------------------------------------------- /test/unit/test_configuration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_configuration.py -------------------------------------------------------------------------------- /test/unit/test_dats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_dats.py -------------------------------------------------------------------------------- /test/unit/test_direct_loop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_direct_loop.py -------------------------------------------------------------------------------- /test/unit/test_extrusion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_extrusion.py -------------------------------------------------------------------------------- /test/unit/test_global_reduction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_global_reduction.py -------------------------------------------------------------------------------- /test/unit/test_globals.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_globals.py -------------------------------------------------------------------------------- /test/unit/test_indirect_loop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_indirect_loop.py -------------------------------------------------------------------------------- /test/unit/test_iteration_space_dats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_iteration_space_dats.py -------------------------------------------------------------------------------- /test/unit/test_linalg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_linalg.py -------------------------------------------------------------------------------- /test/unit/test_linalg_complex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_linalg_complex.py -------------------------------------------------------------------------------- /test/unit/test_matrices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_matrices.py -------------------------------------------------------------------------------- /test/unit/test_petsc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_petsc.py -------------------------------------------------------------------------------- /test/unit/test_subset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_subset.py -------------------------------------------------------------------------------- /test/unit/test_vector_map.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/test/unit/test_vector_map.py -------------------------------------------------------------------------------- /versioneer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OP2/PyOP2/HEAD/versioneer.py --------------------------------------------------------------------------------