Skip to content
Snippets Groups Projects
Commit bd49f37e authored by Stephan Seitz's avatar Stephan Seitz Committed by Martin Bauer
Browse files

Add pystencils.autodiff

parent eaeec78a
No related merge requests found
......@@ -55,6 +55,7 @@ All options:
- `alltrafos`: pulls in additional dependencies for loop simplification e.g. libisl
- `bench_db`: functionality to store benchmark result in object databases
- `interactive`: installs dependencies to work in Jupyter including image I/O, plotting etc.
- `autodiff`: enable derivation of adjoint kernels and generation of Torch/Tensorflow operations
- `doc`: packages to build documentation
Options can be combined e.g.
......
......@@ -13,6 +13,12 @@ from .simp import AssignmentCollection
from .slicing import make_slice
from .sympyextensions import SymbolCreator
try:
import pystencils_autodiff
autodiff = pystencils_autodiff
except ImportError:
pass
__all__ = ['Field', 'FieldType', 'fields',
'TypedSymbol',
'make_slice',
......
"""
Provides tools for generation of auto-differentiable operations.
See https://github.com/theHamsta/pystencils_autodiff
Installation:
.. code-block:: bash
pip install pystencils-autodiff
"""
import os
if 'CI' not in os.environ:
raise NotImplementedError('pystencils-autodiff is not installed. Run `pip install pystencils-autodiff`')
import distutils
import io
import os
import sys
import io
from setuptools import setup, find_packages
import distutils
from distutils.extension import Extension
from contextlib import redirect_stdout
from distutils.extension import Extension
from importlib import import_module
from setuptools import find_packages, setup
if '--use-cython' in sys.argv:
USE_CYTHON = True
sys.argv.remove('--use-cython')
else:
USE_CYTHON = False
quick_tests = [
'test_datahandling.test_kernel',
'test_blocking_staggered.test_blocking_staggered',
......@@ -52,6 +52,7 @@ class SimpleTestRunner(distutils.cmd.Command):
for test in quick_tests:
self._run_tests_in_module(test)
def readme():
with open('README.md') as f:
return f.read()
......@@ -69,13 +70,13 @@ def cython_extensions(*extensions):
try:
sys.path.insert(0, os.path.abspath('doc'))
from version_from_git import version_number_from_git
version=version_number_from_git()
version = version_number_from_git()
with open("RELEASE-VERSION", "w") as f:
f.write(version)
except ImportError:
version = open('RELEASE-VERSION', 'r').read()
setup(name='pystencils',
description='Speeding up stencil computations on CPUs and GPUs',
version=version,
......@@ -88,7 +89,7 @@ setup(name='pystencils',
packages=['pystencils'] + ['pystencils.' + s for s in find_packages('pystencils')],
install_requires=['sympy>=1.1', 'numpy', 'appdirs', 'joblib'],
package_data={'pystencils': ['include/*.h', 'backends/cuda_known_functions.txt']},
ext_modules = cython_extensions("pystencils.boundaries.createindexlistcython"),
ext_modules=cython_extensions("pystencils.boundaries.createindexlistcython"),
classifiers=[
'Development Status :: 4 - Beta',
'Framework :: Jupyter',
......@@ -108,6 +109,7 @@ setup(name='pystencils',
'alltrafos': ['islpy', 'py-cpuinfo'],
'bench_db': ['blitzdb', 'pymongo', 'pandas'],
'interactive': ['matplotlib', 'ipy_table', 'imageio', 'jupyter', 'pyevtk'],
'autodiff': ['pystencils-autodiff'],
'doc': ['sphinx', 'sphinx_rtd_theme', 'nbsphinx',
'sphinxcontrib-bibtex', 'sphinx_autodoc_typehints', 'pandoc'],
},
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment